mysqli::reap_async_query

mysqli_reap_async_query

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

mysqli::reap_async_query -- mysqli_reap_async_queryПолучение результата асинхронного запроса

Описание

Объектно-ориентированный стиль

public mysqli::reap_async_query(): mysqli_result|bool

Процедурный стиль

mysqli_reap_async_query(mysqli $mysql): mysqli_result|bool

Получает результат асинхронного запроса.

Замечание:

Доступно только с модулем mysqlnd.

Список параметров

mysql

Только для процедурного стиля: объект mysqli, который вернула функция mysqli_connect() или функция mysqli_init().

Возвращаемые значения

Возвращает false в случае возникновения ошибки. Для успешных запросов, которые производят набор результатов, таких как SELECT, SHOW, DESCRIBE или EXPLAIN, mysqli_reap_async_query() вернёт объект mysqli_result. Для других успешных запросов mysqli_reap_async_query() вернёт true.

Ошибки

Если уведомления об ошибках mysqli включены (MYSQLI_REPORT_ERROR) и запрошенная операция не удалась, выдаётся предупреждение. Если, кроме того, установлен режим MYSQLI_REPORT_STRICT, вместо этого будет выброшено исключение mysqli_sql_exception.

Смотрите также

Добавить

Примечания пользователей 1 note

up
5
eric dot caron at gmail dot com
15 years ago
Keep in mind that mysqli::reap_async_query only returns mysqli_result on queries like SELECT. For queries where you may be interested in things like affected_rows or insert_id, you can't work off of the result of mysqli::reap_async_query as the example in mysqli::poll leads you to believe. For INSERT/UPDATE/DELETE queries, the data corresponding to the query can be accessed through the associated key to the first array in the mysqli::poll function.So instead of<?php    foreach ($links as $link) {        if ($result = $link->reap_async_query()) {            print_r($result->fetch_row());            mysqli_free_result($result);            $processed++;        }    }?>The data is accessible via:<?php    foreach ($links as $link) {        if ($result = $link->reap_async_query()) {            //This works for SELECT            if(is_object($result)){                print_r($result->fetch_row());                mysqli_free_result($result);            }            //This works for INSERT/UPDATE/DELETE            else {                print_r($link);            }            $processed++;        }    }?>
To Top