# SQLite3::open

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::open — Öffnet eine SQlite-Datenbank

### Beschreibung

public SQLite3::open(string `$filename`, int `$flags` = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, string `$encryptionKey` = ""): void

Öffnet eine SQLite3-Datenbank. Sollte diese verschlüsselt sein, wird unter Anwendung des Schlüssels versucht, diese zu entschlüsseln.

### Parameter-Liste

`filename`

  Pfad zu der SQLite-Datenbank oder `:memory:`, um eine im Arbeitsspeicher liegende Datenbank zu erstellen.

`flags`

  Optionale Parameter zur Bestimmung, wie die SQLite-Datenbank geöffnet werden soll. Im Normalfall wird open `SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE` nutzen.

  - `SQLITE3_OPEN_READONLY`: Öffnet die Datenbank ausschließlich für lesende Zugriffe.

  - `SQLITE3_OPEN_READWRITE`: Öffnet die Datenbank für lesende und schreibende Zugriffe.

  - `SQLITE3_OPEN_CREATE`: Erzeugt eine Datenbank, wenn diese nicht existiert.

`encryptionKey`

  Ein optionaler Schlüssel zur Verschlüsselung der Datenbank. Dieser wird zum Ent- und Verschlüsseln einer SQLite Datenbank genutzt. Wenn das SQlite Encryption-Modul nicht installiert ist, wird dieser Parameter ignoriert.

### Rückgabewerte

Es wird kein Wert zurückgegeben.

### Beispiele

Beispiel #1 SQLite3::open()-Beispiel

`<?php
/**
* Ein einfaches Beispiel, wie man die SQLite3-Klasse erweitert, die Parameter
* des Konstruktors (__construct) verändert und mit Hilfe der open-Methode dann
* die Datenbank initialisiert.
*/
class MyDB extends SQLite3
{
function __construct()
{
$this->open('mysqlitedb.db');
}
}
$db = new MyDB();
$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");
$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>`
`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open