(PHP 5 >= 5.3.0, PHP 7)
mysqli::poll -- mysqli_poll — Опрос подключений
Объектно-ориентированный стиль
&$read
, array &$error
, array &$reject
, int $sec
[, int $usec
] )Процедурный стиль
&$read
, array &$error
, array &$reject
, int $sec
[, int $usec
] )Опрос подключений. Доступно только с расширением mysqlnd. Метод может использоваться как статический.
readСписок соединений для проверки наличия оставшихся результатов, которые можно прочитать.
errorСписок соединений, на которых произошли ошибки, например, не удался запрос или соединение было потеряно.
rejectСписок соединений, которые были отклонены, потому что на них не был запущен асинхронный запрос, с которым функция может получить результат опроса.
secЧисло секунд ожидания, должно быть неотрицательным.
usecЧисло миллисекунд ожидания, должно быть неотрицательным.
Возвращает количество готовых к работе соединений в случае успеха,
FALSE в случае неудачи.
Пример #1 Пример использования 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: %s", mysqli_error($link)));
$processed++;
}
} while ($processed < count($all_links));
?>
Результат выполнения данного примера:
Array
(
[0] => test
)