mysqli::poll

mysqli_poll

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

mysqli::poll -- mysqli_pollVérifie l'état de la connexion

Description

Style orienté objet

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

Style procédural

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

Vérifie l'état de la connexion. La méthode peut être utilisée comme statique.

Note:

Disponible uniquement avec mysqlnd.

Liste de paramètres

read

Liste des connexions à vérifier pour les résultats exceptionnels qui peuvent être lus.

error

Liste des connexions sur lesquelles une erreur est survenue, par exemple, des échecs de requêtes, ou des pertes de connexion.

reject

Liste des connexions rejetées car des requêtes non-asynchrones y ont été exécutées et pour lesquelles la fonction pourrait sortir des résultats.

seconds

Nombre de secondes d'attente maximale, doit être positif.

microseconds

Nombre de micro-secondes d'attente maximale, doit être positif.

Valeurs de retour

Retourne le nombre de connexions disponibles en cas de succès, false sinon.

Erreurs / Exceptions

Une ValueError est lancée lorsque ni l'argument read ni l'argument error ne sont transmis.

Historique

VersionDescription
8.3.0 Lance désormais une exception ValueError lorsque ni l'argument read ni l'argument error ne sont transmis.

Exemples

Exemple #1 Exemple avec mysqli_poll()

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

L'exemple ci-dessus va afficher :

Array ( [0] => test )

Voir aussi

To Top