|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Copyright 1997-2012 the PHP Documentation Group.
Copyright 1997-2012 the PHP Documentation Group.
mysqlnd_uh_convert_to_mysqlnd
Converts a MySQL connection handle into a mysqlnd connection handle
Description
resource mysqlnd_uh_convert_to_mysqlnd(mysqli mysql_connection);
Converts a MySQL connection handle into a mysqlnd connection handle. After conversion you can execute mysqlnd library calls on the connection handle. This can be used to access mysqlnd functionality not made available through user space API calls.
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_convert_to_mysqlnd(): (Mysqlnd User Handler) The plugin has
been disabled by setting the configuration parameter mysqlnd_uh.enable = false. You are not allowed to
call this function [...].
Parameters
MySQL connection handle
A MySQL connection handle of type mysql, mysqli or PDO_MySQL.
Return Values
A mysqlnd connection handle.
Changelog
| Version | Description |
|---|---|
| 5.4.0 | The mysql_connection parameter can now be of type mysql, PDO_MySQL, or mysqli. Before, only themysqli type was
allowed.
|
Examples
Example 21.391. mysqlnd_uh_convert_to_mysqlndexample
<?php/* PDO user API gives no access to connection thread id */$mysql_connection = new PDO("mysql:host=localhost;dbname=test", "root", "");/* Convert PDO MySQL handle to mysqlnd handle */$mysqlnd = mysqlnd_uh_convert_to_mysqlnd($mysql_connection);/* Create Proxy to call mysqlnd connection class methods */$obj = new MySQLndUHConnection();/* Call mysqlnd_conn::get_thread_id */var_dump($obj->getThreadId($mysqlnd));/* Use SQL to fetch connection thread id */var_dump($mysql_connection->query("SELECT CONNECTION_ID()")->fetchAll());?>
The above example will output:
int(27054)array(1) { [0]=> array(2) { ["CONNECTION_ID()"]=> string(5) "27054" [0]=> string(5) "27054" }}
See Also
mysqlnd_uh.enable
|
Copyright 1997-2012 the PHP Documentation Group.
mysqlnd_uh_set_connection_proxy
Installs a proxy for mysqlnd connections
Description
bool mysqlnd_uh_set_connection_proxy(MysqlndUhConnection connection_proxy,
mysqli mysqli_connection);
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 [...].
Parameters
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.
Return Values
Returns TRUE on success. Otherwise, returns FALSE
Examples
Example 21.392. mysqlnd_uh_set_connection_proxyexample
<?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!'");?>
The above example will output:
proxy::query(array ( 0 => NULL, 1 => 'SELECT \'mysqlnd rocks!\'',))proxy::query returns trueproxy::query(array ( 0 => NULL, 1 => 'SELECT \'Ahoy Andrey!\'',))proxy::query returns trueproxy::query(array ( 0 => NULL, 1 => 'SELECT \'Moin Johannes!\'',))proxy::query returns true
See Also
mysqlnd_uh_set_statement_proxy
|
mysqlnd_uh.enable
|
Copyright 1997-2012 the PHP Documentation Group.
mysqlnd_uh_set_statement_proxy
Installs a proxy for mysqlnd statements
Description
bool mysqlnd_uh_set_statement_proxy(MysqlndUhStatement statement_proxy);
Installs a proxy for mysqlnd statements. The proxy object will be used for all mysqlnd prepared statement objects, regardless which PHP MySQL extension (mysqli, mysql, PDO_MYSQL) has created them as long as the extension is 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_statement_proxy(): (Mysqlnd User Handler) The plugin has
been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been
installed [...].
Parameters
statement_proxy The mysqlnd statement proxy object of type MysqlndUhStatement
Return Values
Returns TRUE on success. Otherwise, returns FALSE
See Also
mysqlnd_uh_set_connection_proxy
|
mysqlnd_uh.enable
|