(PHP 5 >= 5.3.0, PHP 7, PHP 8)
mysqli::poll -- mysqli_poll — Опрос подключений
Объектно-ориентированный стиль
&$read
,&$error
,&$reject
,$seconds
,$microseconds
= 0Процедурный стиль
&$read
,&$error
,&$reject
,$seconds
,$microseconds
= 0Опрос подключений. Метод может использоваться как статический.
Замечание:
Доступно только с модулем mysqlnd.
read
Список соединений для проверки наличия оставшихся результатов, которые можно прочитать.
error
Список соединений, на которых произошли ошибки, например, не удался запрос или соединение было потеряно.
reject
Список соединений, которые были отклонены, потому что на них не был запущен асинхронный запрос, с которым функция может получить результат опроса.
seconds
Максимальное количество секунд ожидания, должно быть неотрицательным.
microseconds
Максимальное количество миллисекунд ожидания, должно быть неотрицательным.
Возвращает количество готовых к работе соединений в случае успешного выполнения,
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 )