PHP Australia Conference 2015

sqlite_popen

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

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() - Öffnet eine SQLite-Datenbank und erzeugt die Datenbank, wenn diese nicht existiert.
  • sqlite_close() - Schließt eine SQLite-Datenbankverbindung
  • sqlite_factory() - Öffnet eine SQLite-Datenbank und gibt ein SQLiteDatabase-Objekt zurück

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top