array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'mysqli.poll.php', 1 => 'mysqli::poll', ), 'up' => array ( 0 => 'class.mysqli.php', 1 => 'mysqli', ), 'prev' => array ( 0 => 'mysqli.ping.php', 1 => 'mysqli::ping', ), 'next' => array ( 0 => 'mysqli.prepare.php', 1 => 'mysqli::prepare', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/mysqli/mysqli/poll.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
mysqli::poll -- mysqli_poll — Vérifie l'état de la connexion
Style orienté objet
&$read
,&$error
,&$reject
,$seconds
,$microseconds
= 0Style procédural
&$read
,&$error
,&$reject
,$seconds
,$microseconds
= 0Vérifie l'état de la connexion. La méthode peut être utilisée comme statique.
Note:
Disponible uniquement avec mysqlnd.
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.
Retourne le nombre de connexions disponibles en cas de succès,
false
sinon.
Une ValueError est lancée lorsque ni
l'argument read
ni l'argument error
ne sont transmis.
Version | Description |
---|---|
8.3.0 |
Lance désormais une exception ValueError lorsque ni
l'argument read ni l'argument error ne sont transmis.
|
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 )