Efectuar un chequeo de respuesta (ping) sobre una conexión al servidor o reconectarse si no hay conexión

# mysql_ping

(PHP 4 >= 4.3.0, PHP 5)

mysql_ping — Efectuar un chequeo de respuesta (ping) sobre una conexión al servidor o reconectarse si no hay conexión

Advertencia

Esta extensión estaba obsoleta en PHP 5.5.0, y fue eliminada en PHP 7.0.0. En su lugar, se puede utilizar la extensión MySQLi o la extensión PDO_MySQL. Ver también MySQL: elegir una API de la guía. Alternativas a esta función:

- mysqli_ping()

### Descripción

function mysql_ping(resource `$link_identifier` = NULL): bool

Chequea si está activa o no la conexión con el servidor. Si ésta se ha caído, se intenta una reconexión automática. Esta función puede ser usada por scripts que permanecen pasivos durante largos espacios de tiempo, para chequear si el servidor ha cerrado la conexión y reconectarse de ser necesario.

> Nota: La reconexión automática está deshabilitada de forma predeterminada en versiones de MySQL >= 5.0.3.

### Parámetros

`link_identifier`
  La conexión MySQL. Si no se especifica, se utilizará la última conexión abierta con la función mysql_connect(). Si no se encuentra una conexión de este tipo, la función intentará abrir una conexión, como si la función mysql_connect() hubiera sido llamada sin argumento. Si no se encuentra o establece una conexión, se generará una alerta de nivel `E_WARNING`.

### Valores devueltos

Devuelve `true` si la conexión con el servidor MySQL está funcionando, o `false` si no.

### Ejemplos

Ejemplo #1 Un ejemplo de mysql_ping()

    <?php
    set_time_limit(0);

    $conexión = mysql_connect('localhost', 'usuario_mysql', 'contraseña');
    $bd  = mysql_select_db('mi_bd');

    /* Se asume que esta consulta toma mucho tiempo */
    $resultado = mysql_query($sql);
    if (!$resultado) {
        echo 'La consulta #1 falló; Saliendo.';
        exit;
    }

    /* Asegurarse de que la conexión sigue viva, si no, intentar una reconexión */
    if (!mysql_ping($conexión)) {
        echo 'Se ha perdido la conexión, saliendo después de la consulta #1';
        exit;
    }
    mysql_free_result($resultado);

    /* Ya que la conexión sigue viva, ejecutemos otra consulta */
    $resultado2 = mysql_query($sql2);
    ?>

### Ver también

- mysql_thread_id() - Devuelve el ID del hilo actual
- mysql_list_processes() - Lista los procesos de MySQL

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open