PHP 8.3.4 Released!

SQLite3::__construct

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

SQLite3::__construct Instantie un objet SQLite3 et ouvre la base de données SQLite 3

Description

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

Initialise un objet SQLite3 et ouvre une connexion à la base de données SQLite 3. Si le chiffrement a été inclus durant la compilation, alors cette fonction tentera d'utiliser la clé correspondante.

Liste de paramètres

filename

Chemin vers la base de données SQLite, ou :memory: pour utiliser la base de données se trouvant en mémoire vive. Si filename est une chaîne vide, une base de données temporaire privée sera créée sur le disque. Cette base de données privée sera automatiquement supprimée dès que la connexion de la base de données est fermée.

flags

Drapeaux optionnels utilisés pour déterminir la manière d'ouverture de la base de données SQLite. Par défaut, l'ouverture s'effectue en utilisant SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE.

  • SQLITE3_OPEN_READONLY : Ouvre la base de données en lecture seule.

  • SQLITE3_OPEN_READWRITE : Ouvre la base de données en lecture et en écriture.

  • SQLITE3_OPEN_CREATE : Crée la base de données si elle n'existe pas.

encryptionKey

Un clé de cryptage optionnel, à utiliser lors du cryptage/décryptage de la base de données SQLite. Si le module SQLite n'est pas installé, ce paramètre n'aura aucun effet.

Erreurs / Exceptions

Lance une Exception en cas d'échec.

Historique

Version Description
7.0.10 Le filename peut maintenant être vide pour utiliser une base de données privée, temporaire sur disque.

Exemples

Exemple #1 Exemple avec SQLite3::__construct()

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

$db->exec('CREATE TABLE foo (bar TEXT)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");

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

add a note

User Contributed Notes 2 notes

up
13
bohwaz
12 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
7
jtreurniet at example dot com
6 years 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