CLI. 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.
|
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.
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).
Mögliche Fragen über die Extension sollten auf den
PHP Mailinglisten
gestellt werden.
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.
Die SQLite-Extension nutz zwei verschiedene Resource-Typen. Der
erste die die Datenbankverbindung, der zweite das Abfrageergebnis.
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.
|
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.
|