mysqli::store_result
mysqli_store_result
(PHP 5, PHP 7)
mysqli::store_result -- mysqli_store_result — Передает на клиента результирующий набор последнего запроса
Описание
Объектно-ориентированный стиль
Процедурный стиль
Передает результирующий набор последнего запроса на соединении
link
. Дальнейшая работа с этим набором осуществляется
функцией mysqli_data_seek().
Список параметров
-
link
-
Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()
-
option
-
Устанавливаемая опция. Может иметь одно из следующих значений:
Valid options Имя Описание MYSQLI_STORE_RESULT_COPY_DATA
Копирует результаты из внутреннего буфера mysqlnd в получаемые переменные PHP. По умолчанию mysqlnd использует ссылки, предотвращая копирование и дублирование результатов в памяти. В некоторых случаях, например, если результаты содержат много небольших рядов, копирование может уменьшить общее потребление памяти, так как переменные PHP, содержащие результат, можно освобождать раньше (доступно только при использовании mysqlnd c версии PHP 5.6.0)
Возвращаемые значения
Возвращает буферизованный объект результата запроса или false
в случае
ошибки.
Замечание:
mysqli_store_result() возвращает
false
, если запрос не возвращает результирующей таблицы (например, в случае выражения INSERT). Также функция вернетfalse
, если данные из результирующего набора не удалось прочитать. Наличие ошибки можно проверить функцией mysqli_error(), которая в этом случае вернет непустую строку; mysqli_errno() вернет ненулевое значение; и mysqli_field_count() также вернет ненулевое значение. Также возможной причиной возвратаfalse
после успешного вызова mysqli_query() может быть слишком большой результирующий набор (не хватает памяти для его размещения). Если функция mysqli_field_count() возвращает ненулевое значение, значит запрос вернул непустой результирующий набор.
Примечания
Замечание:
Даже несмотря на хорошую практику очищать память, занятую результатами запросов, посредством функции mysqli_free_result(), если mysqli_store_result() передает большой результирующий набор, это может стать проблемой.
Примеры
См. mysqli_multi_query().
Смотрите также
- mysqli_real_query() - Выполнение SQL запроса
- mysqli_use_result() - Готовит результирующий набор на сервере к использованию