Überprüft den Status von Verbindungen

# 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

public static function mysqli::poll(
?array `&$read`,
?array `&$error`,
array `&$reject`,
int `$seconds`,
int `$microseconds` = 0
): int|false

Prozeduraler Stil

function 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

Version | Beschreibung
--- | ---
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

- mysqli_query() - Führt eine Abfrage in einer Datenbank durch
- mysqli_reap_async_query() - Ruft das Ergebnis einer asynchronen Abfrage ab

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open