ProfiPHPProfiPHP
Категория: Функции баз данных MySQLi

Функция Mysqli_query

Функция Mysqli_query выполняет запрос к базе данных MySQL.
mixed mysqli_query( mysqli link, string query [, int resultmode] )
Параметр Link являет собой идентификатор соединения, полученный с помощью Mysqli_connect.

Параметр Query должен содержать текст запроса.

Параметр Resultmode может содержать константу MYSQLI_USE_RESULT, либо MYSQLI_STORE_RESULT, которая установлена по умолчанию. При использовании MYSQLI_USE_RESULT все последующие вызовы этой функции будут возвращать ошибку Commands out of sync до тех пор, пока не будет вызвана функция Mysqli_free_result.

Функция возвращает FALSE в случае неудачи. В случае успешного выполнения запросов SELECT, SHOW, DESCRIBE или EXPLAIN вернет объект Mysqli_result. Для остальных успешных запросов Mysqli_query вернет TRUE.

Пример использования функции Mysqli_query:
$link = mysqli_connect( DB_HOST, DB_USER, DB_PASS, DB_NAME );
$query = mysqli_query( $link, "SELECT * FROM `table`" );
Результат успешного выполнения:
mysqli_result Object
(
[current_field] => 0
[field_count] => 8
[lengths] =>
[num_rows] => 2
[type] => 0
)
Кроме данной функции за выполнение запросов также отвечают функции Mysqli_real_query и Mysqli_multi_query. Чаще всего применяется функция Mysqli_query, так как она выполняет сразу две задачи: выполняет запрос и буферизует на клиенте результат этого запроса. Вызов Mysqli_query идентичен последовательному вызову функций Mysqli_real_query и Mysqli_store_result.

Буферизация на клиенте позволяет серверу очень быстро освобождать занятые запросом ресурсы. Построчное же чтение и дальнейшая обработка результатов клиентом довольно медленный процесс. Поэтому рекомендуется использовать буферизацию результирующих наборов именно функцией Mysqli_query.

Обработка результатов на клиенте проще, нежели средствами сервера. PHP приложения могут свободно оперировать данными внутри буферизованных результирующих наборов. Быстрая навигация по строкам наборов обусловлена тем, что наборы полностью располагаются в памяти клиента.

Добавить комментарий

Имя:
Текст комментария: