(PECL mysqlnd-uh >= 1.0.0-alpha)
MysqlndUhConnection::changeUser — Изменяет пользователя указанного подключения к базе данных mysqlnd
$connection
, string $user
, string $password
, string $database
, bool $silent
, int $passwd_len
) : boolИзменяет пользователя указанного подключения к базе данных mysqlnd
connection
Дескриптор подключения Mysqlnd. Не модифицируйте!
user
Имя пользователя MySQL.
password
Пароль MySQL.
database
База данных MySQL для изменения.
silent
Управляет разрешением mysqlnd выдавать ошибки или нет.
passwd_len
Длина пароля MySQL.
Возвращает true
в случае успешного выполнения.
В противном случае возвращает false
Пример #1 Пример использования MysqlndUhConnection::changeUser()
<?php
class proxy extends MysqlndUhConnection {
/* Вызов хука mysqlnd connection::change_user */
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 возвращает %s\n", __METHOD__, var_export($ret, true));
return $ret;
}
}
/* Установите прокси/хуки, которые будут использоваться со всеми будущими подключениями к mysqlnd */
mysqlnd_uh_set_connection_proxy(new proxy());
/* Создайте соединение mysqli, которое использует библиотеку mysqlnd */
$mysqli = new mysqli("localhost", "root", "", "test");
/* Пример вызова API пользователя, который запускает подключённый вызов mysqlnd */
var_dump($mysqli->change_user("root", "bar", "test"));
?>
Результат выполнения данного примера:
proxy::changeUser(array ( 0 => NULL, 1 => 'root', 2 => 'bar', 3 => 'test', 4 => false, 5 => 3, )) proxy::changeUser возвращает false bool(false)