Documentación offline PHP master

mysqli::poll

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

mysqli::poll

mysqli_poll

Verifica el estado de la conexión

Descripción#

Estilo orientado a objetos

public static mysqli::poll(array $read, array $error, array $reject, int $seconds, [int $microseconds]): int
```php

Estilo procedimental

```php
mysqli_poll(array $read, array $error, array $reject, int $seconds, [int $microseconds]): int

Verifica el estado de la conexión. El método puede ser utilizado como estático.

[!NOTE] Disponible solo con mysqlnd.

Parámetros#

read
Lista de conexiones para verificar resultados excepcionales que pueden ser leídos.

error
Lista de conexiones en las que se ha producido un error, por ejemplo, fallos en consultas o pérdidas de conexión.

reject
Lista de conexiones rechazadas porque se ejecutaron consultas no asíncronas y para las cuales la función podría devolver resultados.

seconds
Número de segundos de espera máxima, debe ser positivo.

microseconds
Número de microsegundos de espera máxima, debe ser positivo.

Valores devueltos#

Devuelve el número de conexiones disponibles en caso de éxito, false en caso contrario.

Errores/Excepciones#

Se lanza una ValueError cuando ni el argumento read ni el argumento error son transmitidos.

Historial de cambios#

Versión Descripción
8.3.0 Ahora lanza una excepción ValueError cuando ni el argumento read ni el argumento error son transmitidos.

Ejemplos#

Ejemplo con mysqli_poll

<?php
$link1 = mysqli_connect();
$link1->query("SELECT 'test'", MYSQLI_ASYNC);
$all_links = array($link1);
$processed = 0;
do {
    $links = $errors = $reject = array();
    foreach ($all_links as $link) {
        $links[] = $errors[] = $reject[] = $link;
    }
    if (!mysqli_poll($links, $errors, $reject, 1)) {
        continue;
    }
    foreach ($links as $link) {
        if ($result = $link->reap_async_query()) {
            print_r($result->fetch_row());
            if (is_object($result))
                mysqli_free_result($result);
        } else die(sprintf("Error MySQLi: %s", mysqli_error($link)));
        $processed++;
    }
} while ($processed < count($all_links));
?>

El ejemplo anterior mostrará:

Array
(
    [0] => test
)

Véase también#

mysqli_query, mysqli_reap_async_query