(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.
readLista de conexiones para verificar resultados excepcionales que pueden ser leídos.
errorLista de conexiones en las que se ha producido un error, por ejemplo, fallos en consultas o pérdidas de conexión.
rejectLista de conexiones rechazadas porque se ejecutaron consultas no asíncronas y para las cuales la función podría devolver resultados.
secondsNúmero de segundos de espera máxima, debe ser positivo.
microsecondsNú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
)