(PHP 5)
mysqli->change_user — Cambia el usuario de la conexión a la base de datos especificada
Estilo por procedimientos:
Estilo orientado a objetos (método):
mysqli_change_user() Es usada para cambiar el usuario para la conexión de base de datos indicada por el parámetro identificador_de_enlace y para fijar la actual base de datos a la específicada por el parámetro base_de_datos .
Si se desea, se puede pasar el valor NULL en lugar del parámetro base_de_datos resultando en solo cambiar el usaurio y no seleccionar la base de datos. Para seleccionar una base de datos en este caso use la función mysqli_select_db().
Para poder cambiar de usuario de forma exitosa se debe proveer de un usuario y contraseña validos, y tales parámetros debe contar con los suficientes permisos para acceder a la base de datos deseada. Si por cualquier razón la autorización falla, el actual usuario autenticado permanecerá activo.
Note: El uso de este comando siempre producirá que la conexión actual a la base de datos se comporte como si fuera una nueva conexión, sin importar si la operación fue completada exitosamente. Este reinicio implica el hacer la restauración no actualizada "rollback" de cualquier transacción activa, cerrar todas las tablas temporales y des-asegurar todas las tablas aseguradas.
Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.
Example#1 Estilo orientado a objetos
<?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();
?>
Example#2 Estilo por procedimientos
<?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);
?>
El resultado del ejemplo seria:
Default database: world Value of variable a is NULL