CascadiaPHP 2024

SQLite3::__construct

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

SQLite3::__construct Создаёт экземпляр объекта SQLite3 и открывает соединение с базой

Описание

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

Создаёт экземпляр объекта SQLite3 и открывает соединение с базой. Если включили шифрование, то появляется возможность использовать ключ.

Список параметров

filename

Путь к SQLite базе или :memory:, для использования базы в оперативной памяти. Если filename задать как пустую строку, то будет создана приватная, временная база данных на диске. Эта база данных будет удалена сразу после закрытия соединения с ней.

flags

Необязательные флаги, для определения типа открытия базы данных. По умолчанию, используется SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE.

encryptionKey

Необязательный ключ для шифрования/расшифровки базы данных. Если модуль шифрования не установлен, то данный параметр будет проигнорирован.

Ошибки

Метод выбрасывает исключение Exception, если возникла ошибка.

Список изменений

Версия Описание
7.0.10 Параметр filename разрешается задавать пустой строкой, чтобы создать на диске приватную временную базу данных.

Примеры

Пример #1 Пример использования метода 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
13 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
7 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