mysqli::poll
mysqli_poll
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
mysqli::poll -- mysqli_poll — Sondagem de conexões
Descrição
Estilo orientado a objetos
?array
&$read
,?array
&$error
,array
&$reject
,int
$seconds
,int
$microseconds
= 0): int|false
Estilo procedural
?array
&$read
,?array
&$error
,array
&$reject
,int
$seconds
,int
$microseconds
= 0): int|false
Faz sondagem de conexões. Este método pode ser usado como static.
Note:
Disponível apenas com o mysqlnd.
Parâmetros
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.
Valor Retornado
Retorna o número de conexões prontas em caso de sucesso, false
caso contrário.
Erros/Exceções
Uma exceção ValueError é lançada quando nem o parâmetro
read
nem o parâmetro error
são passados.
Registro de Alterações
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.
|
Exemplos
Example #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 )
Veja Também
- mysqli_query() - Executa uma consulta no banco de dados
- mysqli_reap_async_query() - Obtenha o resultado da consulta assíncrona