PHP 5.6.36 Released

SQLite3::__construct

(PHP 5 >= 5.3.0, PHP 7)

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

Описание

public SQLite3::__construct ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key = NULL ]] )

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

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

filename

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

flags

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

  • SQLITE3_OPEN_READONLY: Открыть только для чтения.

  • SQLITE3_OPEN_READWRITE: Открыть для чтения и записи.

  • SQLITE3_OPEN_CREATE: Создать новый файл базы данных, если он отсутсвует

encryption_key

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

Возвращаемые значения

Возвращает объект SQLite3, в случае успеха.

Ошибки

Генерирует исключение Exception при ошибке.

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

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

Примеры

Пример #1 Пример использования SQLite3::__construct()

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

$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());
?>

add a note add a note

User Contributed Notes 2 notes

up
8
bohwaz
6 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
1
jtreurniet at example dot com
9 months 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