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 )
기타
- mysqli_query() - 데이터베이스에 대한 쿼리를 수행합니다.
- mysqli_reap_async_query() - 비동기 쿼리에서 결과 가져오기