sqlite_exec
SQLiteDatabase::exec
(PHP 5 < 5.4.0, PECL sqlite >= 1.0.3)
sqlite_exec -- SQLiteDatabase::exec — Führt eine ergebnislose Abfrage in einer definierten Datenbank aus
Beschreibung
$dbhandle
, string $query
[, string &$error_msg
] )$query
, resource $dbhandle
)Objektorientierter Stil (Methode):
$query
[, string &$error_msg
] )
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
dbhandleder 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
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