(PHP 5 >= 5.3.0, PHP 7)
mysqli::poll -- mysqli_poll — Poll connections
Objektorientierter Stil
&$read
, array &$error
, array &$reject
, int $sec
[, int $usec
= 0
] ) : intProzeduraler Stil
&$read
, array &$error
, array &$reject
, int $sec
[, int $usec
= 0
] ) : intPoll connections. Nur in mysqlnd verfügbar. The method can be used as static.
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.
Returns number of ready connections upon success, FALSE
otherwise.
Beispiel #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));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array ( [0] => test )