$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.(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SQLite3::__construct — Instantie un objet SQLite3 et ouvre la base de données SQLite 3
$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.
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.
         
encryptionKeyUn 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.
Lance une Exception en cas d'échec.
| Version | Description | 
|---|---|
| 7.0.10 | Le filenamepeut maintenant être vide pour utiliser une base de données privée, temporaire sur disque. | 
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());
?>$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.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.