sqlite_array_query
SQLiteDatabase::arrayQuery
(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_array_query -- SQLiteDatabase::arrayQuery — Execute a query against a given database and returns an array
说明
$dbhandle
, string $query
[, int $result_type
= SQLITE_BOTH
[, bool $decode_binary
= TRUE
]] ) : array$query
, resource $dbhandle
[, int $result_type
= SQLITE_BOTH
[, bool $decode_binary
= TRUE
]] ) : array面向对象风格 (method):
$query
[, int $result_type
= SQLITE_BOTH
[, bool $decode_binary
= TRUE
]] ) : arraysqlite_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.
参数
-
query
-
The query to be executed.
Data inside the query should be properly escaped.
-
dbhandle
-
The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.
-
result_type
-
可选的
result_type
参数接受常量,且决定返回的数组如何被索引。使用SQLITE_ASSOC
会仅返回关联索引(已命名字段),而SQLITE_NUM
会仅返回数值索引。SQLITE_BOTH
会同时返回关联和数值索引。SQLITE_BOTH
是此函数的默认值。 -
decode_binary
-
当
decode_binary
参数设置为TRUE
(默认值)时,PHP 会解码那些由 sqlite_escape_string() 编码后的二进制数据。通常应保留此值为其默认值,除非要与其他使用 SQLlite 的应用程序建立的数据交互。
Note: 为兼容其他数据库扩展(比如 MySQL),支持两种可替代的语法。推荐第一种格式,函数的第一个参数是
dbhandle
。
返回值
Returns an array of the entire result set; FALSE
otherwise.
由
SQLITE_ASSOC
与 SQLITE_BOTH
返回的列名会依照 sqlite.assoc_case
配置选项的值决定大小写。
范例
Example #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 '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'];
}
?>
参见
- sqlite_query() - Executes a query against a given database and returns a result handle
- sqlite_fetch_array() - Fetches the next row from a result set as an array
- sqlite_fetch_string() - 别名 sqlite_fetch_single