(PECL mysqlnd-uh >= 1.0.0-alpha)
MysqlndUhConnection::changeUser — Changes the user of the specified mysqlnd database connection
$connection
   , string $user
   , string $password
   , string $database
   , bool $silent
   , int $passwd_len
   )Changes the user of the specified mysqlnd database connection
connection
    Mysqlnd connection handle. Do not modify!
user
    The MySQL user name.
password
    The MySQL password.
database
    The MySQL database to change to.
silent
    Controls if mysqlnd is allowed to emit errors or not.
passwd_len
    Length of the MySQL password.
   Returns TRUE on success.
   Otherwise, returns FALSE
  
Example #1 MysqlndUhConnection::changeUser() example
<?php
class proxy extends MysqlndUhConnection {
 /* Hook mysqlnd's connection::change_user call */
 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;
 }
}
/* Install proxy/hooks to be used with all future mysqlnd connection */
mysqlnd_uh_set_connection_proxy(new proxy());
/* Create mysqli connection which is using the mysqlnd library */
$mysqli = new mysqli("localhost", "root", "", "test");
/* Example of a user API call which triggers the hooked mysqlnd call */
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 returns false bool(false)