MySQL and PHP

3.8.35 mysqli::poll, mysqli_poll

Copyright 1997-2021 the PHP Documentation Group.

Description

Object oriented style

public static int mysqli::poll(array read,
                               array error,
                               array reject,
                               int sec,
                               int usec= =0);

Procedural style

int mysqli_poll(array read,
                array error,
                array reject,
                int sec,
                int usec= =0);

Poll connections. Available only with mysqlnd. The method can be used as static.

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 asynchronous query has been run on for which the function could poll results.

sec

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

usec

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

Return Values

Returns number of ready connections upon success, false otherwise.

Examples

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

    

The above example will output:

Array
(
    [0] => test
)

    


See Also

mysqli_query
mysqli_reap_async_query