(PHP 4 >= 4.0.6, PHP 5)
mysql_unbuffered_query — Посылает запрос MySQL без авто-обработки результата и его буферизации
Данный модуль устарел начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API. Альтернативы для этой функции:
mysql_unbuffered_query() посылает запрос MySQL
query
без автоматической обработки и буферизации
её результата, в отличие от функции mysql_query().
Это позволяет сохранить достаточно большое количество памяти для
SQL-запросов, возвращающих большое количество данных. Кроме того, вы
можете начать работу с полученными данными сразу после того, как первый
ряд был получен: вам не приходится ждать до конца SQL-запроса. При
использовании mysql_unbuffered_query() с несколькими
соединениями MySQL, вы должны указать необязательный параметр
link_identifier
.
query
Запускаемый SQL-запрос.
Данные в запросе должны быть корректно проэкранированы.
link_identifier
Соединение MySQL. Если идентификатор соединения не был указан,
будет использовано последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено,
функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров.
Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING
.
Для SELECT, SHOW, DESCRIBE и EXPLAIN запросов
mysql_unbuffered_query()
возвращает resource в случае успешного выполнения, или false
в случае возникновения ошибки.
Для остальных типов SQL-запросов, UPDATE, DELETE, DROP и т.д.,
mysql_unbuffered_query() возвращает true
в случае
успеха и false
в случае возникновения ошибки.
Замечание:
Однако, плюсы использования mysql_unbuffered_query() имеют свою цену: вы не можете использовать функции mysql_num_rows() и mysql_data_seek() с результатом запроса, возвращённым этой функцией, пока не будут получены все ряды. Кроме того, вы должны будете обработать все ряды запроса до отправки нового запроса, используя тот же
link_identifier
.