International PHP Conference 2019 - Spring Edition





(PHP 5, PHP 7)

mysqli_result::free -- mysqli_result::close -- mysqli_result::free_result -- mysqli_free_result Освобождает память, занятую результатами запроса


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

void mysqli_result::free ( void )
void mysqli_result::close ( void )
void mysqli_result::free_result ( void )

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

void mysqli_free_result ( mysqli_result $result )

Освобождает память, занятую результатами запроса.


Нужно всегда очищать память функцией mysqli_free_result(), если результаты запроса больше не нужны.

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


Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

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

Эта функция не возвращает значения после выполнения.

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

  • mysqli_query() - Выполняет запрос к базе данных
  • mysqli_stmt_store_result() - Передает результирующий набор запроса на клиента
  • mysqli_store_result() - Передает на клиента результирующий набор последнего запроса
  • mysqli_use_result() - Готовит результирующий набор на сервере к использованию

add a note add a note

User Contributed Notes 2 notes

Vector at ionisis dot com
8 years ago
If you are getting this error:
Internal SQL Bug: 2014, Commands out of sync; you can't run this command now

Then you never called mysqli_result::free(), mysqli_result::free_result(), mysqli_result::close(), or mysqli_free_result() in your script, and must call it before executing another stored procedure.
8 years ago
Freeing the memory associated with a result means that the references returned by mysqli_fetch_object (or equivalent) are cleared. Thus if you should pass an object pointing to a database row _by reference_, every call of mysqli_free_result will discard the referenced data.
To Top