PHP 7.1.21 Released

SQLite3::__construct

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::__construct Instanziiert ein SQLite3 Objekt und öffnet eine SQLite3 Datenbank

Beschreibung

public SQLite3::__construct ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key = NULL ]] )

Instanziiert ein SQLite3-Objekt und öffnet eine Verbindung zu einer SQLite3-Datenbank. Wurde libsqlite3 mit Verschlüsselungunterstützung kompiliert, wird versucht den angegebenen Schlüssel zu nutzen.

Parameter-Liste

filename

Pfad zur SQLite-Datenbank oder :memory:, um eine im Speicher befindliche Datenbank zu nutzen. Ist filename eine leere Zeichenkette, dann wird eine private, temporäre Datenbank auf der Festplatte erzeugt. Diese private Datenbank wird automatisch gelöscht, sobald die Datenbankverbindung geschlossen wird.

flags

Optionale Schalter, die die Art bestimmen, wie die SQLite-Datenbank geöffnet wird. Standardmäßig wird SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE zum Öffnen genutzt.

  • SQLITE3_OPEN_READONLY: Öffnet die Datenbank im "nur lese"-Modus.

  • SQLITE3_OPEN_READWRITE: Öffnet die Datenbank zum Lesen und Schreiben.

  • SQLITE3_OPEN_CREATE: erzeugt die Datenbank, sollte diese nicht existieren.

encryption_key

Eine optionale Verschlüsselungs-Phrase, die zur Ver- und Entschlüsselung der Datenbank genutzt wird. Ist das SQLite-Verschlüsselungsmodul nicht installiert, dann hat dieser Parameter keine Wirkung.

Rückgabewerte

Gibt im Erfolgsfall das SQLite-Datenbank-Objekt zurück.

Fehler/Exceptions

Wirft im Fehlerfall eine Exception.

Changelog

Version Beschreibung
7.0.10 Der filename Parameter kann nun leer sein, um eine private, temporäre Datenbank auf der Festplatte zu verwenden.

Beispiele

Beispiel #1 SQLite3::__construct() Beispiel

<?php
$db 
= new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('Dies ist ein Test')");

$result $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>

add a note add a note

User Contributed Notes 2 notes

up
8
bohwaz
7 years ago
$encryption_key and all encryption features will be enabled only if the SQLite encryption module is installed. It's a proprietary, costly module. So if it's not present, supplying an encryption key will have absolutely no effect.
up
1
jtreurniet at example dot com
1 year ago
Note that the SQLITE3_OPEN_READONLY flag cannot be combined with the SQLITE3_OPEN_CREATE flag. If you combine both of these flags, a rather unhelpful "Unable to open database: out of memory" exception will be thrown.
To Top