(PHP 5 >= 5.3.0, PHP 7, PHP 8)
mysqli::poll -- mysqli_poll — Verifica el estado de la conexión
Estilo orientado a objetos
&$read
,&$error
,&$reject
,$seconds
,$microseconds
= 0Estilo por procedimientos
&$read
,&$error
,&$reject
,$seconds
,$microseconds
= 0Verifica el estado de la conexión. El método puede ser utilizado como estático.
Nota:
Disponible sólo con mysqlnd.
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.
Devuelve el número de conexiones disponibles en caso de éxito,
false
en caso contrario.
Se lanza una ValueError cuando ni
el argumento read
ni el argumento error
son transmitidos.
Versión | Descripción |
---|---|
8.3.0 |
Ahora lanza una excepción ValueError cuando ni
el argumento read ni el argumento error son transmitidos.
|
Ejemplo #1 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 resultado del ejemplo sería:
Array ( [0] => test )