php8.5
Home/ Manual/ mysqli / mysqli/ mysqli::poll

mysqli::poll

PHP function Edit on GitHub ✎

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

Poll connections

Description

Oop

mysqli::poll(array|null $read, array|null $error, array $reject, int $seconds, int $microseconds = 0): int|false

Procedural

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

Poll connections. The method can be used as static.

Note

Mysqlnd

Parameters

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 pending asynchronous query exists to poll.

seconds

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

microseconds

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

Return Values

Returns number of ready connections upon success, false otherwise.

Errors/Exceptions

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

Changelog

VersionDescription
8.3.0Now throws a ValueError exception when neither the read nor error arguments are passed.

Examples

A mysqli_poll() example

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

The above example will output:

output
Array
(
    [0] => test
)

See Also

Source: reference/mysqli/mysqli/poll.xml · from the official PHP manual (php/doc-en)