sqlite_query
SQLiteDatabase::query
(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_query -- SQLiteDatabase::query — Выполняет запрос к базе данных и возвращает идентификатор результата
Описание
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
]] ) : resource
public SQLiteDatabase::query
( string $query
[, int $result_type
= SQLITE_BOTH
[, string &$error_msg
]] ) : SQLiteResult
Список параметров
-
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().
Примечания
Внимание
SQLite выполнит несколько запросов, разделенных
точкой с запятой, что можно использовать, например, для выполнения
запросов, прочитанных из файла. Однако, это работает только в случае,
если результат функции не используется - если он используется,
то будет выполнен только первый запрос.
Функция sqlite_exec() всегда выполняет все
запросы.
При выполнении нескольких запросов, функция возвращает FALSE
в
случае возникновения ошибки, иначе возвращаемое значение будет неопределенным
(оно может быть как TRUE
, так и идентификатором результата запроса).