mysqlnd_uh_convert_to_mysqlnd
(PECL mysqlnd-uh >= 1.0.0-alpha)
mysqlnd_uh_convert_to_mysqlnd — Convertit un gestionnaire de connexion MySQL en un gestionnaire de connexion mysqlnd
Description
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 [...].
Liste de paramètres
-
Gestionnaire de connexion MySQL
-
Un gestionnaire de connexion MySQL de type mysql, mysqli ou PDO_MySQL.
Valeurs de retour
Un gestionnaire de connexion mysqlnd.
Historique
Version | Description |
---|---|
5.4.0 |
Le paramètre mysql_connection peut maintenant être
de type mysql, PDO_MySQL, ou
mysqli. Avant cette version, seul le type
mysqli était autorisé.
|
Exemples
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" } }