(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");
$mysqli->real_query("SELECT Name FROM City LIMIT 10");
$result = new mysqli_result($mysqli);
printf("Запрос вернул %d записей.\n", $result->num_rows);
Вывод приведённых примеров будет похож на:
Запрос вернул 10 записей.