mysqli::poll

mysqli_poll

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

mysqli::poll -- mysqli_pollPoll connections

Опис

Об'єктно-орієнтований стиль

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

Poll connections. The method can be used as static.

Зауваження:

Доступно тільки з mysqlnd.

Параметри

read

List of connections to check for outstanding results that can be read.

error

List of connections on which an error occurred, for example, query failure or lost connection.

reject

List of connections rejected because no asynchronous query has been run on for which the function could poll results.

seconds

Maximum number of seconds to wait, must be non-negative.

microseconds

Maximum number of microseconds to wait, must be non-negative.

Значення, що повертаються

Returns number of ready connections upon success, false otherwise.

Помилки/виключення

A ValueError is thrown when neither the read nor error arguments are passed.

Журнал змін

Версія Опис
8.3.0 Now throws a ValueError exception when neither the read nor error arguments are passed.

Приклади

Приклад #1 A mysqli_poll() example

<?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));
?>

Поданий вище приклад виведе:

Array
(
    [0] => test
)

Прогляньте також