mysqlnd_ms_get_last_used_connection

(PECL mysqlnd_ms >= 1.1.0)

mysqlnd_ms_get_last_used_connectionRetourne un tableau qui récrit la dernière connexion utilisée

Description

array mysqlnd_ms_get_last_used_connection ( mixed $connection )

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

connection

Un gestionnaire de connexion MySQL obtenu depuis n'importe quelle fonction de connexion des extensions mysqli, mysql ou PDO_MYSQL.

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

LoadingChargement en cours