mysqli::store_result

mysqli_store_result

(PHP 5, PHP 7)

mysqli::store_result -- mysqli_store_result Передает на клиента результирующий набор последнего запроса

Описание

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

public mysqli::store_result ( int $option = ? ) : mysqli_result

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

mysqli_store_result ( mysqli $link , int $option = ? ) : mysqli_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() - Готовит результирующий набор на сервере к использованию