mysqlnd_uh_convert_to_mysqlnd

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_convert_to_mysqlndConvertit un gestionnaire de connexion MySQL en un gestionnaire de connexion mysqlnd

Description

resource mysqlnd_uh_convert_to_mysqlnd ( mysqli &$mysql_connection )

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"
  }
}

Voir aussi

LoadingChargement en cours