PHP kézikönyv
Előző |  | Következő

# sqlite_array_query

(PHP 5)

sqlite_array_query

(no version information, might be only in CVS)

SQLiteDatabase->arrayQuery -- Végrehajt egy SQL kérés az adott adatbázison, az eredményt tömbben visszaadva

## Leírás

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]] )

Objektum orientált stílusban (eljárásként):

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

Az sqlite_array_query() alkalmazása megfelel egy sqlite_query(), majd egy ezt követő ciklikus sqlite_fetch_array() hívássorozatnak, amely egy tömböt épít fel. A visszaadott tömb minden egyes sora egy, a rekordot tartalmazó tömböt tartalmaz. A következő kódrészlet is azt példázza, mit is cserélhetünk le e sokszor zzel az egy függvényhívással. Az sqlite_array_query() hívása jóval gyorsabb eredményt hoz, mint a lenti kódrészlet.

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élda 1. sqlite_array_query() sajátkezűleg

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

Példa 2. sqlite_array_query() példa

`<?php
$dbhandle = sqlite_open('sqlitedb');
$result = sqlite_array_query($dbhandle, 'SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
echo 'Név: ' . $entry['name'] . ' E-mail: ' . $entry['email'];
}
/* OO Példa */
$dbhandle = new SQLiteDatabase('sqlitedb');
$result = $dbhandle->arrayQuery('SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
echo "Név: $entry[name] E-mail: $entry[email]";
?>`

> Tipp: Az sqlite_array_query() leginkább a 45 vagy kevesebb sort tartalmazó eredménylistákhoz nyújt hatékony segítséget. Ha ennél több rekordot szeretél megmozgatni, érdemesebb inkább saját kódot írni az adatsorok szekvenciális lekérésére, kombinálva az sqlite_unbuffered_query() függvénnyel. Ez a módszer ilyenkor sokkal erőforrástakarékosabb.

> Megjegyzés: 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.

Lásd még: sqlite_query(), sqlite_fetch_array() és sqlite_fetch_string().

Előző | Tartalom | Következő
SQLite | Fel | sqlite_busy_timeout