(PECL mysqlnd-uh >= 1.0.0-alpha)
mysqlnd_uh_convert_to_mysqlnd — Convertit un gestionnaire de connexion MySQL en un gestionnaire de connexion mysqlnd
Convertit un gestionnaire de connexion MySQL en un gestionnaire de connexion mysqlnd. Après convertion, vous pouvez exécuter des appels à la bibliothèque cliente mysqlnd sur le gestionnaire de connexion. Ceci peut être utile pour accéder à des fonctionnalités mysqlnd non disponibles depuis les appels API C de l'espace utilisateur.
La fonction peut être désactivée avec l'option
mysqlnd_uh.enable
.
Si mysqlnd_uh.enable
est défini à false
, la fonction n'installera pas le proxy et retournera
toujours true
. De plus, une alerte de niveau E_WARNING
peut être émise. Le message d'erreur ressemblera à
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 [...]
.
Gestionnaire de connexion MySQL
Un gestionnaire de connexion MySQL de type mysql, mysqli ou PDO_MySQL.
Un gestionnaire de connexion mysqlnd.
Exemple #1 Exemple avec mysqlnd_uh_convert_to_mysqlnd()
<?php
/* L'API utilisateur de PDO ne donne pas accès à l'identifiant du thread de connexion */
$mysql_connection = new PDO("mysql:host=localhost;dbname=test", "root", "");
/* Convertit un gestionnaire PDO MySQL en un gestionnaire mysqlnd */
$mysqlnd = mysqlnd_uh_convert_to_mysqlnd($mysql_connection);
/* Crée un proxy pour appeler les méthodes de classe de connexion mysqlnd */
$obj = new MySQLndUHConnection();
/* Appel à mysqlnd_conn::get_thread_id */
var_dump($obj->getThreadId($mysqlnd));
/* Utilisation de SQL pour récupérer l'iID du thread de connexion */
var_dump($mysql_connection->query("SELECT CONNECTION_ID()")->fetchAll());
?>
L'exemple ci-dessus va afficher :
int(27054) array(1) { [0]=> array(2) { ["CONNECTION_ID()"]=> string(5) "27054" [0]=> string(5) "27054" } }