PHP Dokumentation: Function sqlite-exec
12. Januar 2010 von werner
sqlite_exec
SQLiteDatabase->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 werdenfür die Kompatibilität mit anderen Datenbank-Erweiterungen (wie z.B. MySQL)unterstützt. Die bevorzugte Form ist die erste, bei der der Parameterdbhandle der erste Parameter der Funktionist.
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 derSpaltennamen, die von SQLITE_ASSOC undSQLITE_BOTH zurückgegeben werden, wird entsprechend derKonfigurationsdirektive sqlite.assoc_case geändert.
Changelog
| Version | Beschreibung |
|---|---|
| 5.1.0 | Parameter error_msg wurde hinzugefügt |
Beispiele
Beispiel #1 Prozedurales Beispiel
<?php
$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);
}
?>Beispiel #2 Objektorientiertes Beispiel
<?php
$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