mysqli::poll

mysqli_poll

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

mysqli::poll -- mysqli_poll輪詢連接

說明

面向對象風格

public static mysqli::poll(
    array &$read,
    array &$error,
    array &$reject,
    int $sec,
    int $usec = 0
): int

過程化風格

mysqli_poll(
    array &$read,
    array &$error,
    array &$reject,
    int $sec,
    int $usec = 0
): int

輪詢連接。 僅可用于 mysqlnd。 此方法是 static 的。

參數

read

要檢測是否存在可以讀取的結果集的連接的數組。

error

發(fā)生錯誤的,例如:SQL 語句執(zhí)行失敗或者已經斷開的 連接的數組。

reject

沒有可以讀取的結果集的連接 的數組。

sec

秒為單位的最大等待時間,不可以為負數。

usec

微秒為單位的最大等待時間,不可以為負數。

返回值

成功執(zhí)行則返回存在可以讀取結果集的連接數量, 否則 false。

范例

示例 #1 A 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$reject1)) {
        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($all_links));
?>

以上例程會輸出:

Array
(
    [0] => test
)

參見