(PHP 5 >= 5.3.0, PHP 7, PHP 8)
mysqli::poll -- mysqli_poll — Sondagem de conexões
Estilo orientado a objetos
&$read,&$error,&$reject,$seconds,$microseconds = 0Estilo procedural
&$read,&$error,&$reject,$seconds,$microseconds = 0Faz sondagem de conexões. Este método pode ser usado como static.
Nota:
Disponível apenas com o mysqlnd.
readLista de conexões a verificar por resultados marcantes que possam ser lidos.
errorLista de conexões nas quais um erro ocorreu, por exemplo, falha na consulta ou conexão perdida.
rejectLista de conexões rejeitadas porque nenhuma consulta assícrona foi executada para que a função pudesse sondar os resultados.
secondsNúmero máximo de segundos a esperar, deve ser não negativo.
microsecondsNúmero máximo de microssegundos a esperar, deve ser não negativo.
Retorna o número de conexões prontas em caso de sucesso, false caso contrário.
Uma exceção ValueError é lançada quando nem o parâmetro
read nem o parâmetro error são passados.
| Versão | Descrição |
|---|---|
| 8.3.0 |
Agora lança uma exceção ValueError quando nem o parâmetro
read nem o parâmetro error são passados.
|
Exemplo #1 Um exemplo de 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("MySQLi Error: %s", mysqli_error($link)));
$processed++;
}
} while ($processed < count($all_links));
?>O exemplo acima produzirá:
Array
(
[0] => test
)