mysqli::poll

mysqli_poll

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

mysqli::poll -- mysqli_pollÜberprüft den Status von Verbindungen

Beschreibung

Objektorientierter Stil

publicstaticmysqli::poll(
    ?array&$read,
    ?array&$error,
    array&$reject,
    int$seconds,
    int$microseconds = 0
): int|false

Prozeduraler Stil

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

Überprüft den Status von Verbindungen. Diese Methode kann als statische Methode verwendet werden.

Hinweis:

Nur in mysqlnd verfügbar.

Parameter-Liste

read

Eine Liste der Verbindungen, die auf ausstehende Ergebnisse geprüft werden sollen, die gelesen werden können.

error

Eine Liste der Verbindungen, bei denen ein Fehler aufgetreten ist, z. B. ein Abfragefehler oder eine unterbrochene Verbindung.

reject

Eine Liste der Verbindungen, die abgelehnt wurden, weil keine asynchrone Abfrage durchgeführt wurde, für die die Funktion Ergebnisse abfragen könnte.

seconds

Die Maximale Anzahl von Sekunden, die gewartet werden soll; muss nicht-negativ sein.

microseconds

Die Maximale Anzahl von Mikrosekunden, die gewartet werden soll; muss nicht-negativ sein.

Rückgabewerte

Gibt bei Erfolg die Anzahl der verfügbaren Verbindungen zurück, andernfalls false.

Fehler/Exceptions

Wenn weder read noch error übergeben wird, wird ein ValueError geworfen.

Changelog

VersionBeschreibung
8.3.0 Wenn weder read noch error übergeben wird, wird nun eine ValueError-Exception geworfen.

Beispiele

Beispiel #1 mysqli_poll()-Beispiel

<?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-Fehler: %s", mysqli_error($link)));
$processed++;
}
} while (
$processed < count($all_links));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array ( [0] => test )

Siehe auch

To Top