Converts a MySQL connection handle into a mysqlnd connection handle

Mysqlnd_uh Functions
mysqlnd_uh_set_connection_proxy
Mysqlnd_uh Functions
PHP Manual

# mysqlnd_uh_convert_to_mysqlnd

(PECL mysqlnd-uh >= 1.0.0-alpha)

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 the mysqli type was allowed.

### Examples

Example #1 mysqlnd_uh_convert_to_mysqlnd() example

`<?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

Mysqlnd_uh Functions
mysqlnd_uh_set_connection_proxy
Mysqlnd_uh Functions
PHP Manual