CXXVII. 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

KonstanteBedeutung
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

NameVoreinstellungEinstellbar
sqlite.assoc_case0PHP_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.

Inhaltsverzeichnis
sqlite_array_query -- Führt eine Datenbankabfrage durch und liefert das komplette Abfrageergebnis als Array zurück.
sqlite_busy_timeout -- Setzt die maximale Dauer für das Warten auf die Freigabe einer Datenbank, oder sperrt das Warten selbst.
sqlite_changes -- Gibt die Anzahl Zeilen zurück, die vom letzten SQL-Befehl geändert wurden.
sqlite_close -- Schliesst eine offene SQLite Datenbank.
sqlite_column -- Holt eine Spalte aus der aktuellen Zeile des Abfrageergebnisses.
sqlite_create_aggregate -- Register an aggregating UDF for use in SQL statements
sqlite_create_function -- Erzeugt eine "reguläre" nutzerdefinierte Funktion für den Gebrauch in SQL-Befehlen.
sqlite_current -- Holt die aktuelle Zeile als Array aus dem Abfrageergebnis.
sqlite_error_string -- Liefert eine lesbare Beschreibung zu einem Fehlercode.
sqlite_escape_string -- Bereit einen String für die Verwendund als SQL-Parameter auf.
sqlite_exec -- Executes a result-less query against a given database
sqlite_factory -- Opens a SQLite database and returns a SQLiteDatabase object
sqlite_fetch_all -- Fetches all rows from a result set as an array of arrays
sqlite_fetch_array -- Holt die nächste Zeile aus einem Datenbankergebnis und gibt sie als Array zurück.
sqlite_fetch_column_types --  Return an array of column types from a particular table
sqlite_fetch_object -- Fetches the next row from a result set as an object
sqlite_fetch_single -- Fetches the first column of a result set as a string
sqlite_fetch_string -- Liefert die erste Spalte eines Abfrageergebnisses als String zurück.
sqlite_field_name -- Gibt den Namen eines bestimmten Feldes zurück.
sqlite_has_more -- Liefert zurück, ob noch mehr Zeilen im Ergebnis vorliegen
sqlite_has_prev -- Returns whether or not a previous row is available
sqlite_key -- Returns the current row index
sqlite_last_error -- Gibt den Fehlercode des letzten Fehlers für eine Datenbank zurück.
sqlite_last_insert_rowid -- Gibt die Nummer der zuletzt eingefügten Zeile zurück.
sqlite_libencoding -- Gibt die Kodierung der genutzten SQLite-Bibliothek zurück.
sqlite_libversion -- Liefert die Version der genutzten SQLite-Bibliothek zurück.
sqlite_next -- Springt zur nächsten Zeile
sqlite_num_fields -- Gibt die Anzahl Felder für ein Abfrageergebnis zurück
sqlite_num_rows -- Liefert die Anzahl an Zeilen, die in einem Abfrageergebnis enthalten sind, zurück
sqlite_open -- Öffnet eine SQLite Datenbank. Wenn die Datenbank nicht existiert, wird sie erzeugt.
sqlite_popen -- Opens a persistent handle to an SQLite database. Will create the database if it does not exist
sqlite_prev -- Seek to the previous row number of a result set
sqlite_query -- Führt auf einer Datenbank eine Abfrage durch und liefert das Abfrageergebnis zurück.
sqlite_rewind -- Springt zur ersten Zeile
sqlite_seek -- Springe auf eine bestimmte Zeilennummer
sqlite_single_query --  Executes a query and returns either an array for one single column or the value of the first row
sqlite_udf_decode_binary -- Decode binary data passed as parameters to an UDF
sqlite_udf_encode_binary -- Encode binary data before returning it from an UDF
sqlite_unbuffered_query -- Führt eine Abfrage durch, aber übernimmt die Daten nicht gleich in das PHP
sqlite_valid -- Returns whether more rows are available

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 17:57:25