mysqli::poll

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

mysqli::poll -- mysqli_poll — Poll connections


설명

객체 지향 스타일

public static mysqli::poll(
    ?array &$read,
    ?array &$error,
    array &$reject,
    int $seconds,
    int $microseconds = 0
): int|false
                

절차적 스타일

mysqli_poll(
    ?array &$read,
    ?array &$error,
    array &$reject,
    int $seconds,
    int $microseconds = 0
): int|false
                

연결을 폴링합니다. 메서드는 정적으로 사용할 수 있습니다.

메모: mysqlnd에서만 사용 가능합니다.


매개변수

read
읽을 수 있는 미해결 결과를 확인하기 위한 연결 목록입니다.
error
쿼리 실패 또는 연결 끊김과 같이 오류가 발생한 연결 목록입니다.
reject
함수가 결과를 폴링할 수 있는 비동기 쿼리가 실행되지 않았기 때문에 거부된 연결 목록입니다.
seconds
최대 대기 시간(초)은 음수가 아니어야 합니다.
microseconds
대기할 최대 마이크로초 수는 음수가 아니어야 합니다.

반환 값

성공하면 준비된 연결 수를 반환하고 그렇지 않으면 false를 반환합니다.


Examples

예제 #1 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
)
                

기타