(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_array_query -- SQLiteDatabase::arrayQuery — Führt eine Datenbankabfrage durch und liefert das gesamte Abfrageergebnis als Liste zurück
$dbhandle
, string $query
[, int $result_type
= SQLITE_BOTH
[, bool $decode_binary
= TRUE
]] ) : array$query
, resource $dbhandle
[, int $result_type
= SQLITE_BOTH
[, bool $decode_binary
= TRUE
]] ) : arrayObjektorientierter Stil (Methode):
$query
[, int $result_type
= SQLITE_BOTH
[, bool $decode_binary
= TRUE
]] ) : arraysqlite_array_query() führt die übergebene Anfrage aus und liefert die gesamte Ergebnisliste zurück. Die Funktion verhält sich vergleichbar mit der Nutzung von sqlite_query() und dann sqlite_fetch_array() für jede Zeile des Abfrageergebisses. Die Nutzung von sqlite_array_query() ist deutlich schneller als das folgende Script:
sqlite_array_query() ist am besten für Abfragen geeignet, die fünfundvierzig und weniger Ergebniszeilen zurückliefern. Wenn Sie mehr Daten haben, sollten Sie Ihre Scripte eher mit sqlite_unbuffered_query() schreiben, um eine optimale Geschwindigkeit zu erzielen.
query
Die auszuführende Abfrage.
Daten innerhalb einer Anfrage sollten maskiert werden.
dbhandle
Die Ressource des SQLite-Ergebnisses, erzeugt von sqlite_open() wenn in prozeduralem Kontext genutzt. Dieser Parameter wird nicht benötigt, wenn die objektorientierte Methodik genutzt wird.
result_type
Der optionale Parameter
Ergebnis_Typ
akzeptiert eine Konstante und bestimmt,
wie das zurückgegebene Array indiziert wird. Während mit
SQLITE_ASSOC
nur assoziative Indizes (Namensfelder)
zurückgegeben werden, werden mit SQLITE_NUM
nur
numerische Indizes (geordnete Feldnummern) zurückgegeben.
SQLITE_BOTH
gibt sowohl assoziative als auch numerische
Indizes zurück. SQLITE_BOTH
ist die
Standardeinstellung.
decode_binary
Falls der Parameter
decode_binary
auf TRUE
gesetzt ist (das ist die
Standardeinstellung), dekodiert PHP die Binärkodierung, die bei Verwendung von
sqlite_escape_string() auf die Daten angewendet wird.
Solange Sie die Daten nicht mit anderen SQLite-Fähigen Applikationen teilen,
sollten Sie diesen Wert in der Standardeinstellung lassen.
Hinweis: Zwei alternative Syntaxen werden für die Kompatibilität mit anderen Datenbank-Erweiterungen (wie z.B. MySQL) unterstützt. Die bevorzugte Form ist die erste, bei der der Parameter
dbhandle
der erste Parameter der Funktion ist.
Liefert eine Liste der gesamten Ergebnismenge oder FALSE
zurück.
Die Groß- und Kleinschreibung der
Spaltennamen, die von SQLITE_ASSOC
und
SQLITE_BOTH
zurückgegeben werden, wird entsprechend der
Konfigurationsdirektive sqlite.assoc_case geändert.
Beispiel #1 Prozeduraler Stil
<?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'];
}
?>
Beispiel #2 Objektorientierter Stil
<?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'];
}
?>