$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 — Instancia um objeto SQLite3 e abre um banco de dados SQLite 3
$filename
, int $flags
= SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, string $encryptionKey
= "")Instancia um objeto SQLite3 e abre uma conexão com um banco de dados SQLite 3. Se a compilação incluir criptografia, ele tentará usar a chave.
filename
Caminho para o banco de dados SQLite, ou :memory:
para usar um banco de dados em memória.
Se filename
for uma string vazia, então um banco de dados privado, temporário no disco
será criado. Este banco de dados privado será automaticamente
excluído assim que a conexão com o banco de dados for fechada.
flags
Flags opcionais usadas para determinar como abrir o banco de dados SQLite. Por
padrão, abre usando SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE
.
SQLITE3_OPEN_READONLY
: Abre o banco de dados apenas para
leitura.
SQLITE3_OPEN_READWRITE
: Abre o banco de dados para
leitura e escrita.
SQLITE3_OPEN_CREATE
: Cria o banco de dados se ele
não existir.
encryptionKey
Uma chave de criptografia opcional usada ao criptografar e descriptografar um banco de dados SQLite. Se o módulo de criptografia SQLite não estiver instalado, este parâmetro não terá efeito.
Lança uma Exception em caso de falha.
Versão | Descrição |
---|---|
7.0.10 |
O filename agora pode estar vazio para usar um banco de dados privado,
temporário no disco.
|
Exemplo #1 Exemplo de 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.