Php/docs/function.mysqlnd-uh-set-connection-proxy
mysqlnd_uh_set_connection_proxy
(PECL mysqlnd-uh >= 1.0.0-alpha)
mysqlnd_uh_set_connection_proxy — Installs 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 [...]
.
参数
connection_proxy
- A proxy object of type MysqlndUhConnection.
mysqli_connection
- Object of type
mysqli
. If given, the proxy will be set for this particular connection only.
返回值
Returns true
on success.
Otherwise, returns false
范例
Example #1 mysqlnd_uh_set_connection_proxy() example
<?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!'");?>
以上例程会输出:
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