Передаёт на клиента результирующий набор последнего запроса

# mysqli::store_result

# mysqli_store_result

(PHP 5, PHP 7, PHP 8)

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

### Описание

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

public function mysqli::store_result(int `$mode` = 0): mysqli_result|false

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

function mysqli_store_result(mysqli `$mysql`, int `$mode` = 0): mysqli_result|false

Передаёт результирующий набор последнего запроса на соединении `mysql`. Дальнейшая работа с этим набором осуществляется функцией mysqli_data_seek().

### Список параметров

`mysql`
  Только для процедурного стиля: объект mysqli, который вернула функция mysqli_connect() или функция mysqli_init().
`mode`

  Устанавливаемая опция. Начиная с PHP 8.1, параметр ни на что не влияет. Может иметь одно из следующих значений:

  Допустимые варианты
  Имя | Описание
  --- | ---
  `MYSQLI_STORE_RESULT_COPY_DATA` | Копирует результаты из внутреннего буфера mysqlnd в получаемые переменные PHP. По умолчанию mysqlnd использует ссылки, предотвращая копирование и дублирование результатов в памяти. В некоторых случаях, например, если результаты содержат много небольших рядов, копирование может уменьшить общее потребление памяти, так как переменные PHP, содержащие результат, можно освобождать раньше (доступно только при использовании mysqlnd)

### Возвращаемые значения

Возвращает буферизованный объект результата запроса или `false` в случае ошибки.

> Замечание:

> mysqli_store_result() возвращает `false`, если запрос не возвращает результирующей таблицы (например, в случае выражения INSERT). Также функция вернёт `false`, если данные из результирующего набора не удалось прочитать. Наличие ошибки можно проверить функцией mysqli_error(), которая в этом случае вернёт непустую строку; mysqli_errno() вернёт ненулевое значение; и mysqli_field_count() также вернёт ненулевое значение. Также возможной причиной возврата `false` после успешного вызова mysqli_query() может быть слишком большой результирующий набор (не хватает памяти для его размещения). Если функция mysqli_field_count() возвращает ненулевое значение, значит запрос вернул непустой результирующий набор.

### Ошибки

Если уведомления об ошибках mysqli включены (`MYSQLI_REPORT_ERROR`) и запрошенная операция не удалась, выдаётся предупреждение. Если, кроме того, установлен режим `MYSQLI_REPORT_STRICT`, вместо этого будет выброшено исключение mysqli_sql_exception.

### Список изменений

Версия | Описание
--- | ---
8.4.0 | Передача параметра параметра `mode` устарела. Начиная с PHP 8.1.0 параметр не имеет значения.

### Примеры

Смотрите mysqli_multi_query().

### Примечания

> Замечание:

> Даже несмотря на хорошую практику очищать память, занятую результатами запросов, посредством функции mysqli_free_result(), если mysqli_store_result() передаёт большой результирующий набор, это может стать проблемой.

### Смотрите также

- mysqli_real_query() - Выполнение SQL запроса
- mysqli_use_result() - Готовит результирующий набор на сервере к использованию

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open