PHP Handbuch
Zurück |  | Weiter

# CXVIII. SQLite

Warnung
Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

# Einführung

Dies ist eine Extension für den eingebetteten Datenbankserver SQLite. SQLite ist eine C-Bibliothek, die eine eingebettete Datenbankserver-Software enthält. Programme, die mit der SQLite Bibliothek verlinkt sind, können SQL-Datenbanken ohne einen separaten RDBMS-Prozess, also ohnen einen separaten Datenbankserver nutzen.

SQLite ist keine Client-Bibliothek, die zur Verbindung mit einem grossen Datenbankserver genutzt wird. SQLite ist der Server. Die SQLite-Bibliothek liesst und schreibt direkt von und auf die Datenbankdateien auf der Festplatte.

> Anmerkung: Weitere Informationen finden Sie auf der SQLite Website. (http://sqlite.org/).

# Installation

Lesen Sie die Datei INSTALL, die im SQLite-Verzeichnis enthalten ist. SQLite selbst ist automatisch enthalten, es ist nicht notwendig, weitere Software zu installieren.

Windows-Nutzer können die DLL-Version der SQLite-Extension hier downloaden: (php_sqlite.dll).

# Kontaktinformationen

Mögliche Fragen über die Extension sollten auf den PHP Mailinglisten gestellt werden.

# Anforderungen

Um die SQLite-Funktionen nutzen zu können, muss PHP mit SQLite-Support kompiliert werden, oder die SQLite-Extension dynamisch in der php.ini geladen werden.

# Resource Typen

Die SQLite-Extension nutz zwei verschiedene Resource-Typen. Der erste die die Datenbankverbindung, der zweite das Abfrageergebnis.

# Vordefinierte Konstanten

Die Funktionen sqlite_fetch_array() und sqlite_current() nutzen eine Konstante für die unterschiedlichen Varianten von Ergebnis-Arrays. Die folgenden Konstanten sind definiert:

Tabelle 1. SQLite Fetch Konstanten

Konstante | Bedeutung
--- | ---
SQLITE_ASSOC | Die Spalten werden in einem Array zurückgeliefert, bei dem der Spaltenname als Hashindex genutzt wird.
SQLITE_BOTH | Die Spalten werden in dem Array sowohl als numerischer wie auch als Spaltenname als Hashindex zurückgeliefert.
SQLITE_NUM | Die Spalten werden in dem Array nur mit einem numerischem Index zurückgeliefert. Der Index beginnt mit 0 für das erste Feld des Ergebnisses.

# Laufzeit Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der `php.ini` beeinflusst.

Tabelle 2. SQLite Konfiguration

Name | Voreinstellung | Einstellbar
--- | --- | ---
sqlite.assoc_case | 0 | PHP_INI_SYSTEM

Für weitere Details und die Definition der PHP_INI_*-Konstanten siehe ini_set().

Hier ist eine kurze Erläuterung der Konfigurationseinstellungen.

sqlite.assoc_case int

  Ob gemischte Schreibweise (0), Grossbuchstaben (1) oder Kleinbuchstaben (2 für die Hash Indizes genutzt werden soll.

  Diese Option ist vor allen für die Kompatiblität zu anderen Datenbanksystemen notwendig, in denen die Namen der Spalten immer als Gross- oder Kleinbuchstaben zurückgeliefert werden - unabhängig von den eigentlichen Spaltenbezeichnungen im Datenbankschema.

  Die SQLite Bibliothek liefert die Spaltennamen in ihrer echten Schreibweise zurück (die dem entspricht, was Sie im Datenbankschema nutzen). Wenn sqlite.assoc_case auf 0 gesetzt ist, bleibt diese Schreibweise erhalten. Wenn es auf 1 oder 2 gesetzt ist, wird der Spaltenname von PHP automatisch zu Gross- bzw. Kleinbuchstaben gewandelt.

  Das Nutzen dieser Option erzeugt eine leichte Geschwindigkeitseinbuße, ist aber DEUTLICH schneller als die Nutzung von strtolower() oder strtoupper() im PHP-Script.

Zurück | Zum Anfang | Weiter
spl_classes | Nach oben | sqlite_array_query