sqlite_popen
Öffnet eine persistente Verbindung zu einer SQLite-Datenbank und erzeugt diese im Bedarfsfall
Beschreibung
resource sqlite_popen
( string $filename
[, int $mode = 0666
[, string &$error_message
]] )
Diese Funktion verhält sich identisch zu sqlite_open
mit dem Unterschied, dass sie den persistenten Mechanismus von PHP nutzt.
Detailliertere Informationen, was die Parameter bedeuten, finden Sie in der
Dokumentation zu sqlite_open.
sqlite_open testet als erstes, ob schon eine persistente
Verbindung für den übergebenen filename existiert.
Wenn eine Verbindung gefunden wird, wird diese zurückgegeben,
ansonsten wird eine neue aufgebaut.
Der Vorteil dieser Methode ist, dass Sie nicht die Leistungseinbußen in
Kauf nehmen müssen, die wiederholtes Lesen der Datenbank und des Index-Schemas
bei jedem Aufruf der Seite, welche durch die persistente Webserver SAPI
(jede SAPI außer für reguläre CGi und CLI) ausgeliefert wird, mit sich bringt.
Hinweis:
Wenn Sie persistente Verbindungen nutzen und Sie die Datenbank mittels einees
Hintergrund-Prozesses (vielleicht mittels der crontab) aktualisieren und
dieser Prozess die Datenbank wiederherstellt in dem er diese überschreibt
(entweder durch Löschen und Wiederherstellen oder durch Verschieben der
aktualisierten Version an die Stelle der aktuellen Version,
um diese dadurch zu ersetzen), kann es zu einem undefinierten Verhalten kommen,
wenn die persistente Verbindung, welches noch auf die 'alte' Version der Datenbank
zeigt, wiederverwendet wird.
Um diese Situation zu verhindern, sollten die Hintergrund-Prozesse die selbe
Datenbank nutzen und ihre Änderungen innerhab einer 'transaction' verrichten.
Parameter-Liste
-
filename
-
Der Dateiname der SQLite-Datenbank. Wenn die Datei nicht existiert, wird
SQLite versuchen diese zu erzeugen. PHP muss dem zur Folge Schreibzugriff
auf die Datei haben, in die Daten eingefügt oder das Datenbank-Schema geändert
werden soll oder die angelegt wird, wenn sie nicht existiert.
-
mode
-
Der Modus der Datei. Vorgesehen für den Fall, dass die Datenbank im
Nur-Lesen-Modus geöffnet werden soll. Dieser Parameter wird im Moment
von der SQLite-Biblothek ignoriert. Der Standardwert für den Modus ist
der oktale Wert 0666. Dies ist auch der empfohlene
Wert des Parameters.
-
error_message
-
Wird als Referenz übergeben und beinhaltet im Fehlerfall eine
aussagekräftige Fehlermeldung, die erklärt, warum die Datenbank nicht
geöffnet werden konnte.
Rückgabewerte
Liefert eine Ressource (Datenbank-Vebindung), wenn die Zuteilung einer
Verbindung erfolgreich war, ansonsten FALSE.
Siehe auch
- sqlite_open
- sqlite_close
- sqlite_factory