(PECL mysqlnd_ms >= 1.1.0)
mysqlnd_ms_get_last_used_connection — Retourne un tableau qui récrit la dernière connexion utilisée
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.
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. |
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.
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" }