PHP 手冊
前一頁 |  | 下一頁

# sqlite_array_query

(PHP 5)

sqlite_array_query

(no version information, might be only in CVS)

SQLiteDatabase->arrayQuery -- Execute a query against a given database and returns an array

## Description

array sqlite_array_query ( resource dbhandle, string query [, int result_type [, bool decode_binary]] )
array sqlite_array_query ( string query, resource dbhandle [, int result_type [, bool decode_binary]] )

Object oriented style (method):

class SQLiteDatabase {
array arrayQuery ( string query [, int result_type [, bool decode_binary]] )
}

sqlite_array_query() is similar to calling sqlite_query() and then sqlite_fetch_array() for each row of the result set and storing it into an array, as shown in the example below. Calling sqlite_array_query() is significantly faster than using such a script.

The optional result_type parameter accepts a constant and determines how the returned array will be indexed. Using `SQLITE_ASSOC` will return only associative indices (named fields) while `SQLITE_NUM` will return only numerical indices (ordinal field numbers). `SQLITE_BOTH` will return both associative and numerical indices. `SQLITE_BOTH` is the default for this function.

The column names returned by `SQLITE_ASSOC` and `SQLITE_BOTH` will be case-folded according to the value of the sqlite.assoc_case configuration option.

When the decode_binary parameter is set to `TRUE` (the default), PHP will decode the binary encoding it applied to the data if it was encoded using the sqlite_escape_string(). You should normally leave this value at its default, unless you are interoperating with databases created by other sqlite capable applications.

範例 1. sqlite_array_query() implemented yourself

`<?php $q = sqlite_query($dbhandle, "SELECT name, email FROM users LIMIT 25"); $rows = array(); while ($r = sqlite_fetch_array($q)) { $rows[] = $r; } ?>`

範例 2. sqlite_array_query() example

`<?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'];
}
/* OO Example */
$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_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.

> 注: Two alternative syntaxes are supported for compatibility with other database extensions (such as MySQL). The preferred form is the first, where the dbhandle parameter is the first parameter to the function.

See also sqlite_query(), sqlite_fetch_array(), and sqlite_fetch_string().

前一頁 | 內容 | 下一頁
SQLite Functions | 上一層 | sqlite_busy_timeout