sqlite_prev
sqlite_rewind
SQLite Funktionen
PHP Manual

# sqlite_query

# SQLiteDatabase->query

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_query -- SQLiteDatabase->query — Führt auf einer Datenbank eine Abfrage durch und liefert das Abfrageergebnis zurück

### Beschreibung

resource sqlite_query ( resource `$dbhandle` , string `$query` [, int `$result_type` = SQLITE_BOTH [, string `&$error_msg` ]] )
resource sqlite_query ( string `$query` , resource `$dbhandle` [, int `$result_type` = SQLITE_BOTH [, string `&$error_msg` ]] )

Objektorientierter Stil (Methode):

SQLiteResult query ( string `$query` [, int `$result_type` = SQLITE_BOTH [, string `&$error_msg` ]] )

Führt eine, durch den Parameter `query` übergebene, SQL-Anfrage auf der übergebenen Datenbank-Verbindung aus.

### Parameter-Liste

`dbhandle`

  Die SQLite-Datenbankressource, zurückgegeben von sqlite_open(), wenn prozedural genutzt. In der objektorientierten Notation wird dieser Parameter nicht benötigt.

`query`

  Die auszuführende Anfrage.

  Daten innerhalb einer Anfrage sollten maskiert werden.

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

`error_msg`

  Die spezifizierte Variable wird im Falle eines Fehlers gesetzt. Diese ist besonders wichtig, denn SQL-Syntaxfehler können nicht mittels sqlite_last_error() ausgelesen werden.

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

### Rückgabewerte

Diese Funktion gibt ein Ergebnis-Handle zurück. Im Fehlerfall wird `FALSE` zurückgegeben. Für Anfragen, die Reihen liefern, kann das Abfrageergebnis mit Funktionen, wie sqlite_seek() oder sqlite_fetch_array() augelesen werden.

Ungeachtet des Anfrage-Typs, gibt diese Funktion `FALSE` zurück, wenn die Anfrage fehlschlägt.

sqlite_query() gib ein gepuffertes Ergebnis, dessen Zeilen einzeln ansprechbar sind. Dies ist für kleine Abfragen nützlich, bei denen man abwechselnd unterschiedliche Zeilen abfragen will. Die gepufferten Ergebnisse belegen Speicher, um das gesamte Ergebnis halten zu können. Dieser Speicher wird erst dann wieder freigegeben, wenn das komplette Ergebnis durchlaufen wurde. Wenn nur ein sequentieller Zugriff auf die Daten nötig ist, wird empfohlen, die performantere Funktion sqlite_unbuffered_query() zu nutzen.

### Changelog

Version | Beschreibung
--- | ---
5.1.0 | `error_msg` wurde hinzugefügt

### Anmerkungen

Warnung

SQlite ist in der Lage durch Simikolon getrennte Anfragen in einem Schub auszuführen. Diese können aus einer Datei geladen oder durch ein Skript bereitgestellt werden. Wie auch immer, das funktioniert nur, wenn das Ergebins der Anfrage nicht benutzt wird. Sollte es doch genutzt werden, wird nur die erste SQL-Anfrage der Liste ausgeführt. Die Funktion sqlite_exec() wird immer Mehrfach-Anfragen ausführen.

Wenn Mehrfach-Anfrage ausgeführt werden, wird die Funktion im Fehlerfall `FALSE` zurückgeben, anderenfalls jedoch ein undefiniertes Ergebnis (das kann, sollte die Anfrage gelingen, `TRUE` oder ein Ergebnis-Handle sein).

### Siehe auch

- sqlite_unbuffered_query() - Führt eine Abfrage aus, aber übernimmt die Daten nicht gleich ins PHP
- sqlite_array_query() - Führt eine Datenbankabfrage durch und liefert das gesamte Abfrageergebnis als Liste zurück

sqlite_prev
sqlite_rewind
SQLite Funktionen
PHP Manual