mysqli::poll

mysqli_poll

(PHP 5 >= 5.3.0, PHP 7)

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

发生错误的,例如:SQL 语句执行失败或者已经断开的 连接的数组。

reject

没有可以读取的结果集的连接 的数组。

sec

秒为单位的最大等待时间,不可以为负数。

usec

微秒为单位的最大等待时间,不可以为负数。

返回值

成功执行则返回存在可以读取结果集的连接数量, 否则 FALSE

范例

Example #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
)

参见