mysqli::change_user()
(PHP 5, PHP 7)
Changes the user of the specified database connection
说明
面向对象风格
mysqli::change_user(string $user,string $password,string $database): bool
过程化风格
mysqli_change_user(mysqli$link,string $user,string $password,string $database): bool
Changes the user of the specified database connection and sets the current database.
In order to successfully change users a valid$usernameand$passwordparameters 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.
参数
- $link
仅以过程化样式:由mysqli_connect()或mysqli_init()返回的链接标识。
- $user
The MySQL user name.
- $password
The MySQL password.
- $database
The database to change to.
If desired, the
NULL
value may be passed resulting in only changing the user and not selecting a database. To select a database in this case use the mysqli_select_db() function.
返回值
成功时返回TRUE
,或者在失败时返回FALSE
。
注释
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.
范例
Example #1 mysqli::change_user() example
面向对象风格
<?php /* connect database test */ $mysqli = new mysqli("localhost", "my_user", "my_password", "test"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } /* Set Variable a */ $mysqli->query("SET @a:=1"); /* reset all and select a new database */ $mysqli->change_user("my_user", "my_password", "world"); if ($result = $mysqli->query("SELECT DATABASE()")) { $row = $result->fetch_row(); printf("Default database: %s\n", $row[0]); $result->close(); } if ($result = $mysqli->query("SELECT @a")) { $row = $result->fetch_row(); if ($row[0] === NULL) { printf("Value of variable a is NULL\n"); } $result->close(); } /* close connection */ $mysqli->close(); ?>
过程化风格
<?php /* connect database test */ $link = mysqli_connect("localhost", "my_user", "my_password", "test"); /* check connection */ if (!$link) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } /* Set Variable a */ mysqli_query($link, "SET @a:=1"); /* reset all and select a new database */ mysqli_change_user($link, "my_user", "my_password", "world"); if ($result = mysqli_query($link, "SELECT DATABASE()")) { $row = mysqli_fetch_row($result); printf("Default database: %s\n", $row[0]); mysqli_free_result($result); } if ($result = mysqli_query($link, "SELECT @a")) { $row = mysqli_fetch_row($result); if ($row[0] === NULL) { printf("Value of variable a is NULL\n"); } mysqli_free_result($result); } /* close connection */ mysqli_close($link); ?>
以上例程会输出:
Default database: world Value of variable a is NULL
参见
mysqli_connect()
别名 mysqli::__construct- mysqli_select_db() 选择用于数据库查询的默认数据库