(PHP 5 >= 5.3.0, PHP 7)
mysqli::poll -- mysqli_poll — Almacena en caché conexiones
Estilo orientado a objetos
&$read
, array &$error
, array &$reject
, int $sec
[, int $usec
] ) : intEstilo por procedimientos
&$read
, array &$error
, array &$reject
, int $sec
[, int $usec
] ) : intAlmacena en caché conexiones. Disponible sólo con mysqlnd. Este método puede usarse como estático.
read
Lista de conexiones a comprobar para resultados pendientes que se pueden leer.
error
Lista de conexiones en las que ocurrió un error, por ejemplo, fallo de consulta o conexión perdida.
reject
Lista de conexiones rechazadas debido a que no se ha ejecutado ninguna consulta asíncrona para la que la función podría almacenar en caché resultados.
sec
El número de segundos a esperar, debe ser no negativo.
usec
El número de microsegundos a esperar, debe ser no negativo.
Devuelve el número de conexiones si tiene éxito, FALSE
de otro modo.
Ejemplo #1 Un ejemplo de mysqli_poll()
<?php
$enlace1 = mysqli_connect();
$enlace1->query("SELECT 'test'", MYSQLI_ASYNC);
$todos_los_enlaces = array($enlace1);
$procesado = 0;
do {
$enlaces = $errores = $rechazados = array();
foreach ($todos_los_enlaces as $enlace) {
$enlaces[] = $errores[] = $rechazados[] = $enlace;
}
if (!mysqli_poll($enlaces, $errores, $rechazados, 1)) {
continue;
}
foreach ($enlaces as $enlace) {
if ($resultado = $enlace->reap_async_query()) {
print_r($resultado->fetch_row());
if (is_object($resultado))
mysqli_free_result($resultado);
} else die(sprintf("MySQLi Error: %s", mysqli_error($enlace1)));
$procesado++;
}
} while ($procesado < count($todos_los_enlaces));
?>
El resultado del ejemplo sería:
Array ( [0] => test )