(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_set_connection_proxyInstalls a proxy for mysqlnd connections


mysqlnd_uh_set_connection_proxy ( MysqlndUhConnection &$connection_proxy , mysqli &$mysqli_connection = ? ) : bool

Installs a proxy object to hook mysqlnd's connection objects methods. Once installed, the proxy will be used for all MySQL connections opened with mysqli, mysql or PDO_MYSQL, assuming that the listed extensions are compiled to use the mysqlnd library.

The function can be disabled with mysqlnd_uh.enable. If mysqlnd_uh.enable is set to false the function will not install the proxy and always return true. Additionally, an error of the type E_WARNING may be emitted. The error message may read like PHP Warning: mysqlnd_uh_set_connection_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed [...].

Список параметров


A proxy object of type MysqlndUhConnection.


Object of type mysqli. If given, the proxy will be set for this particular connection only.

Возвращаемые значения

Returns true on success. Otherwise, returns false


Пример #1 mysqlnd_uh_set_connection_proxy() example

= new mysqli("localhost""root""""test");
$mysqli->query("SELECT 'No proxy installed, yet'");

proxy extends MysqlndUhConnection {
 public function 
query($res$query) {
printf("%s(%s)\n"__METHOD__var_export(func_get_args(), true));
$ret parent::query($res$query);
printf("%s returns %s\n"__METHOD__var_export($rettrue));
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli->query("SELECT 'mysqlnd rocks!'");

$mysql mysql_connect("localhost""root""""test");
mysql_query("SELECT 'Ahoy Andrey!'"$mysql);

$pdo = new PDO("mysql:host=localhost;dbname=test""root""");
$pdo->query("SELECT 'Moin Johannes!'");

Результат выполнения данного примера:

proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'mysqlnd rocks!\'',
proxy::query returns true
proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Ahoy Andrey!\'',
proxy::query returns true
proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Moin Johannes!\'',
proxy::query returns true

Смотрите также