Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mysqlnd_uh_convert_to_mysqlnd(3) [php man page]

MYSQLND_UH_CONVERT_TO_MYSQLND(3)					 1					  MYSQLND_UH_CONVERT_TO_MYSQLND(3)

mysqlnd_uh_convert_to_mysqlnd - Converts a MySQL connection handle into a mysqlnd connection handle

SYNOPSIS
resource mysqlnd_uh_convert_to_mysqlnd (mysqli &$mysql_connection) DESCRIPTION
Converts a MySQL connection handle into a mysqlnd connection handle. After conversion you can execute mysqlnd library calls on the connec- tion 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
o $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(3) 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. PHP Documentation Group MYSQLND_UH_CONVERT_TO_MYSQLND(3)

Check Out this Related Man Page

MYSQLI_QUERY(3) 							 1							   MYSQLI_QUERY(3)

mysqli::query - Performs a query on the database

       Object oriented style

SYNOPSIS
mixed mysqli::query (string $query, [int $resultmode = MYSQLI_STORE_RESULT]) DESCRIPTION
Procedural style mixed mysqli_query (mysqli $link, string $query, [int $resultmode = MYSQLI_STORE_RESULT]) Performs a $query against the database. For non-DML queries (not INSERT, UPDATE or DELETE), this function is similar to calling mysqli_real_query(3) followed by either mysqli_use_result(3) or mysqli_store_result(3). Note In the case where you pass a statement to mysqli_query(3) that is longer than max_allowed_packet of the server, the returned error codes are different depending on whether you are using MySQL Native Driver ( mysqlnd) or MySQL Client Library ( libmysqlclient). The behavior is as follows: o mysqlnd on Linux returns an error code of 1153. The error message means got a packet bigger than max_allowed_packet bytes. o mysqlnd on Windows returns an error code 2006. This error message means server has gone away. o libmysqlclient on all platforms returns an error code 2006. This error message means server has gone away. PARAMETERS
o $ link -Procedural style only: A link identifier returned by mysqli_connect(3) or mysqli_init(3) o $query - The query string. Data inside the query should be properly escaped. o $resultmode - Either the constant MYSQLI_USE_RESULT or MYSQLI_STORE_RESULT depending on the desired behavior. By default, MYSQLI_STORE_RESULT is used. If you use MYSQLI_USE_RESULT all subsequent calls will return error Commands out of sync unless you call mysqli_free_result(3) With MYSQLI_ASYNC (available with mysqlnd), it is possible to perform query asynchronously. mysqli_poll(3) is then used to get results from such queries. RETURN VALUES
Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query(3) will return a mysqli_result object. For other successful queries mysqli_query(3) will return TRUE. CHANGELOG
+--------+--------------------------------------+ |Version | | | | | | | Description | | | | +--------+--------------------------------------+ | 5.3.0 | | | | | | | Added the ability of async queries. | | | | +--------+--------------------------------------+ EXAMPLES
Example #1 mysqli::query example Object oriented style <?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* check connection */ if ($mysqli->connect_errno) { printf("Connect failed: %s ", $mysqli->connect_error); exit(); } /* Create table doesn't return a resultset */ if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) { printf("Table myCity successfully created. "); } /* Select queries return a resultset */ if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) { printf("Select returned %d rows. ", $result->num_rows); /* free result set */ $result->close(); } /* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */ if ($result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT)) { /* Note, that we can't execute any functions which interact with the server until result set was closed. All calls will return an 'out of sync' error */ if (!$mysqli->query("SET @a:='this will not work'")) { printf("Error: %s ", $mysqli->error); } $result->close(); } $mysqli->close(); ?> Procedural style <?php $link = mysqli_connect("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s ", mysqli_connect_error()); exit(); } /* Create table doesn't return a resultset */ if (mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) { printf("Table myCity successfully created. "); } /* Select queries return a resultset */ if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) { printf("Select returned %d rows. ", mysqli_num_rows($result)); /* free result set */ mysqli_free_result($result); } /* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */ if ($result = mysqli_query($link, "SELECT * FROM City", MYSQLI_USE_RESULT)) { /* Note, that we can't execute any functions which interact with the server until result set was closed. All calls will return an 'out of sync' error */ if (!mysqli_query($link, "SET @a:='this will not work'")) { printf("Error: %s ", mysqli_error($link)); } mysqli_free_result($result); } mysqli_close($link); ?> The above examples will output: Table myCity successfully created. Select returned 10 rows. Error: Commands out of sync; You can't run this command now SEE ALSO
mysqli_real_query(3), mysqli_multi_query(3), mysqli_free_result(3). PHP Documentation Group MYSQLI_QUERY(3)
Man Page