# maxdb_change_user

# maxdb::change_user

(PECL maxdb >= 1.0)

maxdb_change_user -- maxdb::change_user — Changes the user of the specified database connection

### 说明

过程化风格

maxdb_change_user ( resource `$link` , string `$user` , string `$password` , string `$database` ) : bool

面向对象风格

maxdb::change_user ( string `$user` , string `$password` , string `$database` ) : bool

maxdb_change_user() is used to change the user of the specified database connection as given by the `link` parameter and to set the current database to that specified by the `database` parameter.

In order to successfully change users a valid `username` and `password` parameters must be provided and that user must have sufficient permissions to access the desired database. If for any reason authorization fails, the current user authentication will remain.

> Note:

> Using this command will always cause the current database connection to behave as if was a completely new database connection, regardless of if the operation was completed successfully. This reset includes performing a rollback on any active transactions, closing all temporary tables, and unlocking all locked tables.

### 返回值

成功时返回 `TRUE`， 或者在失败时返回 `FALSE`。

### 范例

Example #1 面向对象风格

    <?php

    /* connect database test */
    $maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

    /* check connection */
    if (maxdb_connect_errno()) {
       printf("Connect failed: %s\n", maxdb_connect_error());
       exit();
    }

    if ($result = $maxdb->query("SELECT * FROM dual")) {
       $row = $result->fetch_row();
       printf("Result: %s\n", $row[0]);
       $result->free();
    }

    /* reset all and select a new database */
    if (!$maxdb->change_user("DBADMIN", "SECRET", "DEMODB")) {
      printf("Database not running\n");
    } else {
      printf("Database running\n");
    }

    /* close connection */
    $maxdb->close();
    ?>

Example #2 过程化风格

    <?php
    $link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

    /* check connection */
    if (!$link) {
       printf("Connect failed: %s\n", maxdb_connect_error());
       exit();
    }

    if ($result = maxdb_query($link, "SELECT * FROM dual")) {
       $row = maxdb_fetch_row($result);
       printf("Result: %s\n", $row[0]);
       maxdb_free_result($result);
    }

    /* reset all and select a new database */
    if (!maxdb_change_user($link, "DBADMIN", "SECRET", "DEMODB")) {
      printf("Database not running\n");
    } else {
      printf("Database running\n");
    }

    /* close connection */
    maxdb_close($link);
    ?>

以上例程的输出类似于：

    Result: a
    Database running

### 参见

- maxdb_connect() - Open a new connection to the MaxDB server
- maxdb_select_db() - Selects the default database for database queries