(PHP 5, PHP 7)
mysqli::store_result -- mysqli_store_result — Передает на клиента результирующий набор последнего запроса
Объектно-ориентированный стиль
Процедурный стиль
Передает результирующий набор последнего запроса на соединении
link
. Дальнейшая работа с этим набором осуществляется
функцией mysqli_data_seek().
link
Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()
option
Устанавливаемая опция. Может иметь одно из следующих значений:
Имя | Описание |
---|---|
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().