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.

Příklad 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;
}
?>

Příklad 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'];
}
?>

Tip: 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.

Poznámka: 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().