MySQLi - Poll

语法

int mysqli_poll (array &$read , array &$error , array &$reject , int $sec [, int $usec ])

定义和用法

它用于轮询连接。

示例

试试下面的例子 −

<?php
   $servername = "localhost:3306";
   $username = "root";
   $password = "";
   $dbname = "TUTORIALS";
   $conn = new mysqli($servername, $username, $password, $dbname);

   if ($conn->connect_error) {
      die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
      exit();
   } 
   if (!mysqli_query($conn, "SET a = 1")) {
      printf("Errorcode: %d
", mysqli_error($conn));
   }
   echo 'Success... ' . mysqli_get_host_info($conn) . "
";

   $conn->query("SELECT 'tutorials_auto'", MYSQLI_ASYNC);
   $arry_con = array($conn);
   $processed = 0;
   do {
      $links = $errors = $reject = array();
      foreach ($arry_con 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 Error: %s", mysqli_error($link)));
         $processed++;
      }
   } while ($processed < count($arry_con));
   $conn->close();
?>

上述代码的示例输出应该是这样的 −

Errorcode: 0 Success... localhost:3306 via TCP/IP Array ( [0] => tutorials_auto )

mysqli_useful_functions.html