(PHP 5 >= 5.3.0, PHP 7)
mysqli::poll -- mysqli_poll — Vérifie l'état de la connexion
Style orienté objet
&$read
, array &$error
, array &$reject
, int $sec
[, int $usec
] )Style procédural
&$read
, array &$error
, array &$reject
, int $sec
[, int $usec
] )Vérifie l'état de la connexion. Disponible uniquement avec mysqlnd. La méthode peut être utilisée comme statique.
readListe des connexions à vérifier pour les résultats exceptionnels qui peuvent être lus.
errorListe des connexions sur lesquelles une erreur est survenue, par exemple, des échecs de requêtes, ou des pertes de connexion.
rejectListe 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.
secNombre de secondes d'attente, doit être positif ou nul.
usecNombre de secondes d'attente, doit être positif ou nul.
Retourne le nombre de connexions disponibles en cas de succès,
FALSE sinon.
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
)