mysqli::poll

mysqli_poll

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

mysqli::poll -- mysqli_pollОпрос подключений

Описание

Объектно-ориентированный стиль

public static mysqli::poll(
    ?array &$read,
    ?array &$error,
    array &$reject,
    int $seconds,
    int $microseconds = 0
): int|false

Процедурный стиль

mysqli_poll(
    ?array &$read,
    ?array &$error,
    array &$reject,
    int $seconds,
    int $microseconds = 0
): int|false

Опрос подключений. Метод может использоваться как статический.

Замечание:

Доступно только с модулем 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
)

Смотрите также