Forum und email

sqlite_array_query

SQLiteDatabase->arrayQuery

(No version information available, 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):

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.

Example#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;
}
?>

Example#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]";

?>

Tip

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.

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.

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