(PECL mysqlnd-uh >= 1.0.0-alpha)
mysqlnd_uh_set_connection_proxy — Instala un proxy para las conexiones de mysqlnd
&$connection_proxy
[, mysqli &$mysqli_connection
] )Instala un objeto proxy para enganchar los métodos de los objetos de conexión de mysqlnd. Una vez instalado, el proxy se usará para todas las conexiones de MySQL abiertas con mysqli, mysql o PDO_MYSQL, asumiendo que las extensiones enumeradas están compiladas para usar la biblioteca mysqlnd.
Esta función se puede deshabilitar con
mysqlnd_uh.enable.
Si mysqlnd_uh.enable
se establece a FALSE
la función no instalará el proxy y
siempre devolverá TRUE
. Además, se emitirá un
error de tipo E_WARNING. Este mensaje de error podría leerse
como 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 [...].
connection_proxy
Un objeto proxy de tipo MysqlndUhConnection.
mysqli_connection
Un objeto de tipo mysqli. Si se proporciona, el proxy se establecerá únicamente para esta conexión en particular.
Devuelve TRUE
en caso de éxito.
De lo contrario, devuelve FALSE
Ejemplo #1 Ejemplo de mysqlnd_uh_set_connection_proxy()
<?php
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("SELECT 'No proxy installed, yet'");
class 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($ret, true));
return $ret;
}
}
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!'");
?>
El resultado del ejemplo sería:
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