(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_array_query -- SQLiteDatabase::arrayQuery — Выполняет запрос к базе данных и возвращает результат в виде массива
$dbhandle
, string $query
[, int $result_type
= SQLITE_BOTH
[, bool $decode_binary
= true
]] )$query
, resource $dbhandle
[, int $result_type
= SQLITE_BOTH
[, bool $decode_binary
= true
]] )Объектно-ориентированный стиль (метод):
$query
[, int $result_type
= SQLITE_BOTH
[, bool $decode_binary
= true
]] )sqlite_array_query() выполняет указанный запрос и возвращает массив с полным результирующим набором. Использование sqlite_array_query() идентично использованию sqlite_query() с последующим вызовом sqlite_fetch_array() для каждой записи результата запроса с сохранением записей в массиве, как показано в приведенном ниже примере. sqlite_array_query() выполняется значительно быстрее, чем вышеупомянутая последовательность.
sqlite_array_query() наилучшим образом подходит для запросов, возвращающих до 45 записей. Для запросов, возвращающих большие наборы записей, оптимальным с точки зрения быстродействия является использование функции sqlite_unbuffered_query().
query
Выполняемый запрос.
Данные, используемые в запросе, должны быть корректно экранированы.
dbhandle
Ресурс базы данных SQLite, возвращенный из sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.
result_type
Необязательный параметр
result_type
принимает константу, определяющую, как будет
индексирован возвращаемый массив.
При использовании SQLITE_ASSOC
будет возвращен
ассоциативный массив, а при использовании SQLITE_NUM
- числовой. SQLITE_BOTH
вернет массив как с
ассоциативными, так и с числовыми индексами.
Значением по умолчанию для этой функции является
SQLITE_BOTH
.
decode_binary
Когда параметр
decode_binary
установлен в TRUE
(по умолчанию),
PHP будет декодировать бинарный код, примененный к данным, как если бы они были закодированы функцией
sqlite_escape_string(). Обычно вам следует оставлять
это значение по умолчанию, если только вы не работаете с базой данных
sqlite, которая была создана в ином приложении.
Замечание: Поддерживаются два альтернативных синтаксиса для совместимости с другими расширениями баз данных (например, MySQL). Предпочитаемая форма - первая, в которой параметр
dbhandle
является первым параметром функции.
Возвращает массив с полным результирующим набором, иначе возвращается
FALSE
.
Имена столбцов, возвращаемые
SQLITE_ASSOC
и SQLITE_BOTH
, будут
приведены к нужному регистру согласно значению конфигурационной опции
sqlite.assoc_case.
Пример #1 Процедурный стиль
<?php
$dbhandle = sqlite_open('sqlitedb');
$result = sqlite_array_query($dbhandle, 'SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
echo 'Имя: ' . $entry['name'] . ' E-mail: ' . $entry['email'];
}
?>
Пример #2 Объектно-ориентированный стиль
<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$result = $dbhandle->arrayQuery('SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
echo 'Имя: ' . $entry['name'] . ' E-mail: ' . $entry['email'];
}
?>