Werbung
sqlite_exec
(PHP 5, PECL sqlite >= 1.0.3)
sqlite_exec -- SQLiteDatabase->exec — Führt eine ergebnislose Abfrage in einer definierten Datenbank aus
Beschreibung
Objektorientierter Stil (Methode):
Führt eine SQL-Anweisung, die durch query gesetzt wurde, mit dem Datenbank-Handle (definiert durch den Parameter dbhandle ) aus.
SQLite kann mehrere, durch Semikolon getrennte Anweisungen ausführen. Dadurch kann man eine Reihe von Anweisungen aus einer Datei oder einem eingebetteten Skript laden und ausführen.
Parameter-Liste
- dbhandle
-
Die Ressource der SQLite-Datenbank, die bei prozeduraler Benutzung von sqlite_open() zurückgegeben wurden. Der Parameter wird bei der objektorientierten Notation nicht benötigt.
- query
-
Die auszuführende Anweisung.
Daten innerhalb einer Anfrage sollten maskiert werden.
- error_msg
-
Die angegebene Variable wird bei einem Fehler gefüllt. Das ist insbesondere deswegen wichtig, weil SQL-Syntaxfehler nicht durch die Funktion sqlite_last_error() abgerufen werden können.
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
Die Funktion liefert ein boolsches Ergebnis; TRUE bei Erfolg, ansonsten FALSE. Wenn man eine Abfrage ausführen möchte, die Zeilen zurück liefern soll, sollte man bei sqlite_query() gucken.
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.
Changelog
| Version | Beschreibung |
|---|---|
| 5.1.0 | Parameter error_msg wurde hinzugefügt |
Beispiele
2
3
4
5
6
7
$dbhandle = sqlite_open('mysqlitedb');
$query = sqlite_exec($dbhandle, "UPDATE benutzer SET email='jDoe@example.com' WHERE benutzername='jDoe'", $error);
if (!$query) {
exit("Fehler in der Abfrage: '$error'");
} else {
echo 'Anzahl geänderter Zeilen: ', sqlite_changes($dbhandle);
}
2
3
4
5
6
7
$dbhandle = new SQLiteDatabase('mysqlitedb');
$query = $dbhandle->queryExec("UPDATE benutzer SET email='jDoe@example.com' WHERE benutzername='jDoe'", $error);
if (!$query) {
exit("Fehler in der Abfrage: '$error'");
} else {
echo 'Anzahl geänderter Zeilen: ', $dbhandle->changes();
}
Siehe auch
- sqlite_query() - Führt auf einer Datenbank eine Abfrage durch und liefert das Abfrageergebnis zurück
- 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