(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.
read
Lista de conexões a verificar por resultados marcantes que possam ser lidos.
error
Lista de conexões nas quais um erro ocorreu, por exemplo, falha na consulta ou conexão perdida.
reject
Lista de conexões rejeitadas porque nenhuma consulta assícrona foi executada para que a função pudesse sondar os resultados.
seconds
Número máximo de segundos a esperar, deve ser não negativo.
microseconds
Nú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çã 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 )