poll
mysqli::poll
mysqli_poll
Poll connections
ENTITY
ENTITY
public
static
int
false
mysqli::poll
array
null
read
array
null
error
array
reject
int
seconds
int
microseconds
0
ENTITY
int
false
mysqli_poll
array
null
read
array
null
error
array
reject
int
seconds
int
microseconds
0
Poll connections. The method can be used as static.
[!NOTE] ENTITY
ENTITY
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.
ENTITY
Returns number of ready connections upon success, ENTITY otherwise.
ENTITY
A ValueError is thrown when neither the read nor error arguments are passed.
ENTITY
| ENTITY | ENTITY |
|---|---|
| 8.3.0 | Now throws a ValueError exception when neither the read nor error arguments are passed. |
ENTITY
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));
?>
ENTITY
Array
(
[0] => test
)
ENTITY
mysqli_query, mysqli_reap_async_query
谢谢你的反馈!