mysqlnd_ms_get_last_used_connection
(PECL mysqlnd_ms >= 1.1.0)
mysqlnd_ms_get_last_used_connection — Retourne un tableau qui récrit la dernière connexion utilisée
Description
Retourne un tableau qui décrit la dernière connexion utilisée depuis la file d'attente de connexions actuellement pointée par le gestionnaire de connexion utilisateur. Si vous utilisez le plugin, un gestionnaire de connexion utilisateur représente une file d'attente de connexions à la base de données. Il n'est pas possible de dire depuis la connexion utilisateur qui gère les propriétés quel serveur de base de données depuis la file d'attente le gestionnaire de connexions utilisateur pointe.
La fonction peut être utilisée pour déboguer ou monitorer PECL mysqlnd_ms.
Liste de paramètres
Valeurs de retour
FALSE
en cas d'erreur. Sinon, un tableau décrivant la connexion utilisée
pour exécuter la dernière requête.
Tableau décrivant la connexion.
Propriété | Description | Version |
---|---|---|
scheme | Shéma de connexion. Soit tcp://host:port ou unix://host:socket. Si vous voulez distinguer les connexions les unes des autres, utilisez une combinaison de scheme et de thread_id comme clé unique. Ni scheme, ni thread_id seul ne sont suffisants pour distinguer deux connexions. Deux serveurs peuvent assigner le même thread_id à deux connexions différentes. Aussi, les connexions dans la file d'attente peuvent avoir le même thread_id. Deplus, ne pariez pas sur l'unicité de scheme dans une file d'attente. Votre ingénieur QA peut utiliser la même instance de serveur MySQL pour deux rôles logiques distinctes, et l'ajouter plusieurs fois dans la file d'attente. Ce hack est utilisé, par exemple, dans la suite de test. | Depuis 1.1.0. |
host | Hôte du serveur de base de données utilisé avec la connexion. L'hôte est uniquement défini avec des connexions TCP/IP. Il sera vide avec un domaine Unix ou Windows, nommé avec des connexions pipes. | Depuis 1.1.0. |
host_info | Une chaîne de caractères représentant le nom d'hôte du serveur et le type de connexion. | Depuis 1.1.2. |
port | Le port du serveur de base de données utilisé avec la connexion. | Depuis 1.1.0. |
socket_or_pipe | Socket de domaine Unix ou Windows nommé pipe, utilisé avec la connexion. La valeur est vide pour les connexions TCP/IP. | Depuis 1.1.2. |
thread_id | Identifiant du thread de connexion. | Depuis 1.1.0. |
last_message | Message d'information obtenu depuis la fonction mysql_info() MySQL C API. Reportez-vous à la fonction mysqli_info() pour une description détaillée. | Depuis 1.1.0. |
errno | Le code erreur. | Depuis 1.1.0. |
error | Le message d'erreur. | Depuis 1.1.0. |
sqlstate | Le code erreur SQLstate. | Depuis 1.1.0. |
Notes
Note:
mysqlnd_ms_get_last_used_connection() requière PHP >= 5.4.0 et PECL mysqlnd_ms >> 1.1.0. En interne, cette fonction utilise un appel à la bibliothèque C mysqlnd qui n'est pas disponible avec PHP 5.3.
Exemples
Cet exemple suppose que myapp se réfère une section du fichier de configuration du plugin et représente une file d'attente de connexions.
Exemple #1 Exemple avec mysqlnd_ms_get_last_used_connection()
<?php
$link = new mysqli("myapp", "user", "password", "database");
$res = $link->query("SELECT 1 FROM DUAL");
var_dump(mysqlnd_ms_get_last_used_connection($link));
?>
L'exemple ci-dessus va afficher :
array(10) { ["scheme"]=> string(22) "unix:///tmp/mysql.sock" ["host_info"]=> string(25) "Localhost via UNIX socket" ["host"]=> string(0) "" ["port"]=> int(3306) ["socket_or_pipe"]=> string(15) "/tmp/mysql.sock" ["thread_id"]=> int(46253) ["last_message"]=> string(0) "" ["errno"]=> int(0) ["error"]=> string(0) "" ["sqlstate"]=> string(5) "00000" }