mysql_unbuffered_query - Посылает запрос MySQL без авто-обработки результата и его буферизации
Вернуться к: MySQL
mysql_unbuffered_query
(PHP 4 >= 4.0.6, PHP 5)
mysql_unbuffered_query — Посылает запрос MySQL без авто-обработки результата и его буферизации
Описание
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.
Вернуться к: MySQL