mysqlnd_ms_get_last_used_connection

(PECL mysqlnd_ms >= 1.1.0)

mysqlnd_ms_get_last_used_connectionDevuelve un array que describe la última conexión usada

Descripción

mysqlnd_ms_get_last_used_connection ( mixed $connection ) : array

Devuelve un array que describe la última conexión usada desde la agrupación de conexiones del complemento apuntada por el gestro de conexión del usuario. Si se usa el complemento, un gestor de conexión de usuario representa una agrupación de conexiones a bases de datos. No es posible indicar, desde las propiedades del gestor de conexión de usuario, a qué servidor de bases de datos de la agrupación apunta el gestor de conexión de usuario.

La función se puede usar para depurar o monitorizar PECL mysqlnd_ms.

Parámetros

connection

Un gestor de conexión MySQL obtenido desde cualquiera de las funciones de conexión de las extensiones mysqli, mysql o PDO_MYSQL.

Valores devueltos

FALSE en caso de error. De otro modo, un array que describe la conexión usada para ejecutar la última sentencia.

El array que describe la conexión.

Propiedad Descripción Versión
scheme El esquema de la conexión. Puede ser tcp://host:port o unix://host:socket. Si se han de distinguir las conexiones unas de otras se ha de usar una combinación de scheme y thread_id como clave única. Ni scheme ni thread_id por sí solos son suficientes para distinguir dos conexiones entre sí. Dos servidores puede asignar el mismo thread_id a dos conexiones diferentes. Por lo tanto, las conexiones de la agrupación podrían tener el mismo thread_id. También, no se debe depender de la unicidad de scheme de una agrupación. Los ingenieros de controlo de calidad podrían usar la misma instancia del servidor MySQL para dos roles lógicos distintos y añadirla múltiples veces a la agrupación. Esta técnica se usa, por ejemplo, en la batería de pruebas. Desde 1.1.0.
host El equipo anfitrión servidor de las bases de datos usado para la conexión. Este equipo solamente se establece con conexiones TCP/IP. Está vacío con conexiones de dominio Unix o tuberías con nombre de Windows. Desde 1.1.0.
host_info Una cadena de caracteres que representa el nombre del equipo anfitrión servidor y el tipo de conexión. Desde 1.1.2.
port El puerto del servidor de las bases de datos usado con la conexión. Desde 1.1.0.
socket_or_pipe El socket de dominio Unix o la tubería con nombre de Windows usados con la conexión. Este valor está vacío para conexiones TCP/IP. Desde 1.1.2.
thread_id El id del subproceso de conexión. Desde 1.1.0.
last_message Un mensaje de información obtenido desde la función mysql_info() de la API en C de MySQL. Véase mysqli_info() para una descripción. Desde 1.1.0.
errno El código del error. Desde 1.1.0.
error El mensaje de error. Desde 1.1.0.
sqlstate El códgio SQLstate del error. Desde 1.1.0.

Notas

Nota:

mysqlnd_ms_get_last_used_connection() requiere PHP >= 5.4.0 y PECL mysqlnd_ms >= 1.2.0. Internamente, se utiliza una funcionalidad en C de la biblioteca mysqlnd no disponble en PHP 5.3.

Ejemplos

Este ejemplo asume que myapp se refiere a una sección del fichero de configuración del complemento y que representa una agrupación de conexiones.

Ejemplo #1 Ejemplo de mysqlnd_ms_get_last_used_connection()

<?php
$enlace 
= new mysqli("myapp""usuario""contraseña""base_datos");
$resultado $enlace->query("SELECT 1 FROM DUAL");
var_dump(mysqlnd_ms_get_last_used_connection($enlace));
?>

El resultado del ejemplo sería:

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