PHP Handbuch
Zurück |  | Weiter

# CLVI. 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_object_hash | Nach oben | sqlite_array_query