(PECL mysqlnd-uh >= 1.0.0-alpha)
MysqlndUhConnection::changeUser — Cambia el usuario de la conexión de la base de datos de mysqlnd especificada
$connection
, string $user
, string $password
, string $database
, bool $silent
, int $passwd_len
) : boolCambia el usuario de la conexión de la base de datos de mysqlnd especificada.
connectionGestor de conexión de mysqlnd. ¡No modificar!
userEl nombre de usuario de MySQL.
passwordLa contraseña de MySQL.
databaseLa base de datos de MySQL a la que cambiar.
silentControla si a mysqlnd le está permitido emitir errores o no.
passwd_lenLa longitud de la contraseña de MySQL.
Devuelve TRUE en caso de éxito.
De lo contrario, devuelve FALSE
Ejemplo #1 Ejemplo de MysqlndUhConnection::changeUser()
<?php
class proxy extends MysqlndUhConnection {
/* Enganchar la llamada a connection::change_user de mysqlnd */
public function changeUser($res, $user, $passwd, $db, $silent, $passwd_len) {
printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
$ret = parent::changeUser($res, $user, $passwd, $db, $silent, $passwd_len);
printf("%s returns %s\n", __METHOD__, var_export($ret, true));
return $ret;
}
}
/* Instalar los proxys/ganchos a usar con todas las futuras conexiones de mysqlnd */
mysqlnd_uh_set_connection_proxy(new proxy());
/* Crear una conexión mysqli que esté usando la biblioteca mysqlnd */
$mysqli = new mysqli("localhost", "root", "", "test");
/* Ejemplo de una llamada de la API de usuario que desencadena la llamada a mysqlnd enganchada */
var_dump($mysqli->change_user("root", "bar", "test"));
?>
El resultado del ejemplo sería:
proxy::changeUser(array ( 0 => NULL, 1 => 'root', 2 => 'bar', 3 => 'test', 4 => false, 5 => 3, )) proxy::changeUser returns false bool(false)