PHP Handbuch
Zurück |  | Nach vorne

# sqlite_open

(PHP 5)

sqlite_open -- Öffnet eine SQLite Datenbank. Wenn die Datenbank nicht existiert, wird sie erzeugt.

## Beschreibung

resource sqlite_open ( string Datei [, int mode [, string &Fehler]])

Liefert eine Datenbankresource bei einer erfolgreichen Verbindung zurück, sonst `FALSE`.

Der Parameter `Datei` enthält den Namen der Datenbank. Es kann sich dabei um einen relativen und auch um einen absoluten Pfad zu der Datei handeln, in der SQLite die Daten speichern wird. Wenn die Datei noch nicht existiert, wird SQlite versuchen, sie anzulegen. Sie MÜSSEN Schreibrechte auf die Datei haben, wenn Sie Daten in die Datenbank eintragen oder die Datenbank ändern wollen.

Der Parameter `mode` spezifiziert den Modus der Datei und sollte genutzt werden, wenn die Datenbank nur Lesezugriff erlauben soll. Zur Zeit wird dieser Parameter von der SQLite-Bibliothek ignoriert. Der Standardwert für Modus ist der oktale Wert `06666`. Es handelt sich dabei um den empfohlenen Wert, wenn der Parameter `Fehler` genutzt werden soll.

`Fehler` wird per Referenz übergeben und enthält eine lesbare Fehlermeldung, warum die Datenbank nicht geöffnet werden konnte - wenn ein Fehler vorlag.

Beispiel 1. sqlite_open() Beispiel
`<?php if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) { sqlite_query('CREATE TABLE foo (bar varchar(10))'); sqlite_query("INSERT INTO foo VALUES ('fnord')"); $result = sqlite_query('select bar from foo'); var_dump(sqlite_fetch_array($result)); } else { die ($sqliteerror); } ?>`

> Tipp: Auf Unix-Plattformen müssten Skripte, die den Systembefehl fork() nutzen, für SQLite angepasst werden. Wenn Sie solch ein Skript haben, sollten sie vor dem fork() die Datenbank schliessen und sie nach dem fork() im Kind- und/oder Vaterprozess neu öffnen. Weitere Informaitonen hierzu For more information on this issue, see The C language interface to the SQLite library in the section entitled `Multi-Threading And SQLite`.

> Tipp: It is not recommended to work with SQLite databases mounted on NFS partitions. Since NFS is notoriously bad when it comes to locking you may find that you cannot even open the database at all, and if it succeeds, the locking behaviour may be undefined.

> Anmerkung: Starting with SQLite library version 2.8.2, you can specify `:memory:` as the `filename` to create a database that lives only in the memory of the computer. This is useful mostly for temporary processing, as the in-memory database will be destroyed when the process ends. It can also be useful when coupled with the `ATTACH DATABASE` SQL statement to load other databases and move and query data betweem them.

> Anmerkung: SQLite is safe mode and open_basedir aware.

See also sqlite_popen(), sqlite_close() and sqlite_query().

Zurück | Zum Anfang | Nach vorne
sqlite_num_rows | Nach oben | sqlite_popen