mysqli::change_user
mysqli_change_user
(PHP 5)
mysqli_change_user — Changes the user of the specified database connection
Description
Object oriented style (method):
bool mysqli::change_user
( string $user
, string $password
, string $database
)
bool mysqli_change_user
(
mysqli $link
,
string $user
,
string $password
,
string $database
)
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.
Parameters
-
link
-
Procedural style only: A link identifier
returned by mysqli_connect() or 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.
Return Values
Returns TRUE on success or FALSE on failure.
Notes
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.
Examples
Example #1 Object oriented style
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$mysqli->query("SET @a:=1");
$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();
}
$mysqli->close();
?>
Example #2 Procedural style
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");
if (!$link) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
mysqli_query($link, "SET @a:=1");
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);
}
mysqli_close($link);
?>
The above example will output:
Default database: world
Value of variable a is NULL