Php/docs/mysqli.poll

来自菜鸟教程
跳转至:导航、​搜索

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, $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($all_links));?>

以上例程会输出:


Array
(
    [0] => test
)

参见