|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Copyright 1997-2012 PHP Documentation Group.
Copyright 1997-2012 PHP Documentation Group.
mysqlnd_uh_convert_to_mysqlnd
Преобразовывает дескриптор соединения MySQL в mysqlnd дескриптор соединения
Описание
resource mysqlnd_uh_convert_to_mysqlnd(mysqli mysql_connection);
Преобразовывает дескриптор соединения MySQL в mysqlnd дескриптор соединения. После преобразования можно выполниться, mysqlnd библиотека обращается к дескриптору соединения. Это может привыкнуть к доступу mysqlnd функциональность, не сделанная доступный через вызовы API пространства пользователя.
Функция может быть отключена с mysqlnd_uh.enable.
Если mysqlnd_uh.enable
устанавливается в FALSE функция не будет устанавливать прокси и всегда
возвращаться TRUE . Дополнительно, ошибка типа E_WARNING может быть испущен. Сообщение об ошибке может читать как 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 [...].
Параметры
MySQL connection handle
Дескриптор соединения MySQL типа mysql, mysqli или PDO_MySQL.
Возвращаемые значения
mysqlnd дескриптор соединения.
Журнал изменений
| Версия | Описание |
|---|---|
| 5.4.0 | mysql_connection параметр может теперь иметь тип mysql, PDO_MySQL, или mysqli. Прежде, толькоmysqli тип был
позволен.
|
Примеры
Пример 22.391. mysqlnd_uh_convert_to_mysqlndпример
<?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());?>
Вышеупомянутый пример выведет:
int(27054)array(1) { [0]=> array(2) { ["CONNECTION_ID()"]=> string(5) "27054" [0]=> string(5) "27054" }}
См. Также
mysqlnd_uh.enable
|
Copyright 1997-2012 PHP Documentation Group.
mysqlnd_uh_set_connection_proxy
Устанавливает прокси для mysqlnd соединений
Описание
bool mysqlnd_uh_set_connection_proxy(MysqlndUhConnection connection_proxy,
mysqli mysqli_connection);
Устанавливает объект прокси сцепить методы объектов соединения mysqlnd. После того, как установленный, прокси будет использоваться для всех соединений MySQL, открытых с mysqli, mysql или PDO_MYSQL, предполагая, что перечисленные расширения компилируются, чтобы пользоваться mysqlnd библиотекой.
Функция может быть отключена с mysqlnd_uh.enable.
Если mysqlnd_uh.enable
устанавливается в FALSE функция не будет устанавливать прокси и всегда
возвращаться TRUE . Дополнительно, ошибка типа E_WARNING может быть испущен. Сообщение об ошибке может читать как 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 Объект прокси типа MysqlndUhConnection.
mysqli_connection Объект типа mysqli. Если дано, прокси будет установлен для этого
определенного соединения только.
Возвращаемые значения
Возвраты TRUE на успехе. Иначе, возвраты FALSE
Примеры
Пример 22.392. 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!'");?>
Вышеупомянутый пример выведет:
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
См. Также
mysqlnd_uh_set_statement_proxy
|
mysqlnd_uh.enable
|
Copyright 1997-2012 PHP Documentation Group.
mysqlnd_uh_set_statement_proxy
Устанавливает прокси для mysqlnd операторов
Описание
bool mysqlnd_uh_set_statement_proxy(MysqlndUhStatement statement_proxy);
Устанавливает прокси для mysqlnd операторов. Объект прокси будет использоваться для всего mysqlnd подготовленные объекты оператора, независимо какое расширение MySQL PHP (mysqli, mysql, PDO_MYSQL) создало их, пока расширение компилируется, чтобы пользоваться mysqlnd библиотекой.
Функция может быть отключена с mysqlnd_uh.enable.
Если mysqlnd_uh.enable
устанавливается в FALSE функция не будет устанавливать прокси и всегда
возвращаться TRUE . Дополнительно, ошибка типа E_WARNING может быть испущен. Сообщение об ошибке может читать как 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 [...].
Параметры
statement_proxy mysqlnd оператор проксирует объект типа MysqlndUhStatement
Возвращаемые значения
Возвраты TRUE на успехе. Иначе, возвраты FALSE
См. Также
mysqlnd_uh_set_connection_proxy
|
mysqlnd_uh.enable
|