SQLite Functions
sqlite_busy_timeout
SQLite Functions
PHP Manual

# sqlite_array_query

# 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` = SQLITE_BOTH [, bool `$decode_binary` = true ]] )
array sqlite_array_query ( string `$query` , resource `$dbhandle` [, int `$result_type` = SQLITE_BOTH [, bool `$decode_binary` = true ]] )

Object oriented style (method):

public array SQLiteDatabase::arrayQuery ( string `$query` [, int `$result_type` = SQLITE_BOTH [, bool `$decode_binary` = true ]] )

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.

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.

### Parameters

`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`

  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.

`decode_binary`

  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.

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

### Return Values

Returns an array of the entire result set; `FALSE` otherwise.

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.

### Examples

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'];
}
?>`

### See Also

- sqlite_query
- sqlite_fetch_array
- sqlite_fetch_string