(PHP 5, PECL sqlite >= 1.0.0)
sqlite_array_query -- SQLiteDatabase->arrayQuery — Execute a query against a given database and returns an array
Object oriented style (method):
sqlite_array_query() executes the given query and returns an array of the entire result set. It is similar to calling sqlite_query() and then sqlite_fetch_array() for each row in the result set. sqlite_array_query() is significantly faster than the aforementioned.
sqlite_array_query() is best suited to queries returning 45 rows or less. If you have more data than that, it is recommended that you write your scripts to use sqlite_unbuffered_query() instead for more optimal performance.
The query to be executed.
The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.
可选的 result_type 参数接受一个常量并决定返回的数组如何索引。用 SQLITE_ASSOC 只会返回关联索引(有名称字段)而 SQLITE_NUM 只会返回数字索引(有序字段数)。SQLITE_BOTH 会同时返回关联和数字索引。 SQLITE_BOTH 是本函数的默认值。
当 decode_binary 参数设为 TRUE(默认值)时,PHP 将解码那些由 sqlite_escape_string() 编码的数据。通常应保留此值为其默认值,除非在操作其它支持 sqlite 程序建立的数据库时。
Note: 为兼容其它数据库(例如 MySQL),支持另两种替代的语法。推荐用第一种,dbhandle 参数作为函数的第一个参数。
Returns an array of the entire result set; FALSE otherwise.
由 SQLITE_ASSOC 和 SQLITE_BOTH 返回的列名会根据 sqlite.assoc_case 配置选项的值来决定大小写。
Example #1 Procedural style
<?php
$dbhandle = sqlite_open('sqlitedb');
$result = sqlite_array_query($dbhandle, 'SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
echo 'Name: ' . $entry['name'] . ' E-mail: ' . $entry['email'];
}
?>
Example #2 Object-oriented style
<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$result = $dbhandle->arrayQuery('SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
echo 'Name: ' . $entry['name'] . ' E-mail: ' . $entry['email'];
}
?>