(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
)Cambia el usuario de la conexión de la base de datos de mysqlnd especificada.
connection
Gestor de conexión de mysqlnd. ¡No modificar!
user
El nombre de usuario de MySQL.
password
La contraseña de MySQL.
database
La base de datos de MySQL a la que cambiar.
silent
Controla si a mysqlnd le está permitido emitir errores o no.
passwd_len
La 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)