mysqli::poll
mysqli_poll
(PHP 5 >= 5.3.0)
mysqli::poll -- mysqli_poll — Vérifie l'état de la connexion
Description
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.
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.
-
sec -
Nombre de secondes d'attente, doit être positif ou nul.
-
usec -
Nombre de secondes d'attente, doit être positif ou nul.
Valeurs de retour
Retourne le nombre de connexions disponibles en cas de succès,
FALSE sinon.
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
- mysqli_query() - Exécute une requête sur la base de données
- mysqli_reap_async_query() - Lit un résultat pour une requête asynchrone