Выполняет запрос к базе данных и возвращает идентификатор результата


SQLiteDatabase::query

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_query -- SQLiteDatabase::queryВыполняет запрос к базе данных и возвращает идентификатор результата

Описание

resource sqlite_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )
resource sqlite_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

Объектно-ориентированный стиль (метод):

public SQLiteResult SQLiteDatabase::query ( string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

Выполняет SQL-запрос query к указанному дескриптору базы данных.

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

dbhandle

Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.

query

Выполняемый запрос.

Данные в запросе должны быть корректно экранированы.

result_type

Необязательный параметр result_type принимает константу, определяющую, как будет индексирован возвращаемый массив. При использовании SQLITE_ASSOC будет возвращен ассоциативный массив, а при использовании SQLITE_NUM - числовой. SQLITE_BOTH вернет массив как с ассоциативными, так и с числовыми индексами. Значением по умолчанию для этой функции является SQLITE_BOTH.

error_msg

Указанная переменная будет заполнена в случае возникновения ошибки. Это особенно важно, так как ошибки синтаксиса SQL не возращаются функцией sqlite_last_error().

Замечание: Поддерживаются два альтернативных синтаксиса для совместимости с другими расширениями баз данных (например, MySQL). Предпочитаемая форма - первая, в которой параметр dbhandle является первым параметром функции.

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

Эта функция возвращает идентификатор результата запроса или FALSE в случае возникновения ошибки. Для запросов, возвращающих данные, этот идентификатор может использоваться в качестве аргумента таких функций как sqlite_fetch_array() и sqlite_seek().

Независимо от типа запроса, в случае возникновения ошибки эта функция возвращает FALSE.

sqlite_query() возвращает буферизованный результирующий набор, по котому также можно перемещаться в различных направлениях. Её следует использовать для запросов, возвращающих относительно небольшое количество записей, если вам необходим случайный доступ к записям. Дескриптор буферизованного результата выделит память для всего возвращаемого результата и не возвратит ее, пока весь результат не будет полностью получен. Если вам необходим только последовательный доступ к записям, рекомендуется использовать намного более производительную функцию sqlite_unbuffered_query().

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

Версия Описание
5.1.0 Добавлен параметр error_msg

Примечания

Внимание

SQLite выполнит несколько запросов, разделенных точкой с запятой, что можно использовать, например, для выполнения запросов, прочитанных из файла. Однако, это работает только в случае, если результат функции не используется - если он используется, то будет выполнен только первый запрос. Функция sqlite_exec() всегда выполняет все запросы.

При выполнении нескольких запросов, эта функция возвращает FALSE в случае ошибки, иначе возвращаемое значение будет неопределенным (оно может быть как TRUE, так и идентификатором результата запроса).

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

  • sqlite_unbuffered_query() - Выполняет запрос без буферизации результатов
  • sqlite_array_query() - Выполняет запрос к базе данных и возвращает результат в виде массива