(PHP 5, PHP 7, PHP 8)
mysqli_result::__construct — Конструктор объекта mysqli_result
Метод создаёт новый объект mysqli_result.
Метод можно использовать для создания объекта mysqli_result после вызова функции mysqli_real_query() или mysqli_multi_query(). Создание объекта вручную эквивалентно вызову функции mysqli_store_result() или mysqli_use_result().
mysql
Только для процедурного стиля: объект mysqli, который вернула функция mysqli_connect() или функция mysqli_init().
result_mode
Режим результата может быть одной из двух констант, указывающих, как результат будет возвращён сервером MySQL:
MYSQLI_STORE_RESULT
(по умолчанию) -
создаёт объект mysqli_result с буферизованным набором результатов.
MYSQLI_USE_RESULT
- создаёт объект mysqli_result с небуферизованным набором результатов.
Пока есть ожидающие выборки записи, линия соединения будет занята
и все последующие вызовы будут возвращать ошибку Commands out of sync
(Команды не синхронизированы).
Чтобы избежать ошибки, все записи должны быть получены с сервера
или набор результатов должен быть отброшен путём вызова функции mysqli_free_result().
Для извлечения строк соединение должно оставаться открытым.
Если уведомления об ошибках mysqli включены (MYSQLI_REPORT_ERROR
) и запрошенная операция не удалась,
выдаётся предупреждение. Если, кроме того, установлен режим MYSQLI_REPORT_STRICT
,
вместо этого будет выброшено исключение mysqli_sql_exception.
Пример #1 Пример создания объекта mysqli_result
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* SELECT-запросы возвращают набор результатов */
$mysqli->real_query("SELECT Name FROM City LIMIT 10");
$result = new mysqli_result($mysqli);
printf("Запрос вернул %d записей.\n", $result->num_rows);
Вывод приведённых примеров будет похож на:
Запрос вернул 10 записей.