PHP 7.1.20 Released

SQLite3::__construct

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::__construct SQLite3 オブジェクトを作成し、SQLite 3 データベースをオープンする

説明

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

SQLite3 オブジェクトを作成し、SQLite 3 データベースをオープンします。 暗号化込みでビルドされている場合は、キーの使用を試みます。

パラメータ

filename

SQLite データベースへのパス。インメモリデータベースを使う場合は :memory: を指定します。 If filename is an empty string, then a private, temporary on-disk database will be created. This private database will be automatically deleted as soon as the database connection is closed.

flags

SQLite データベースのオープン方法を指定するフラグ。 デフォルトでは SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE を使用してオープンします。

  • SQLITE3_OPEN_READONLY: データベースを読み込み専用でオープンする

  • SQLITE3_OPEN_READWRITE: データベースを読み書き共用でオープンする

  • SQLITE3_OPEN_CREATE: データベースが存在しない場合は作成する

encryption_key

オプションの暗号キー。SQLite データベースの暗号化と復号に使用します。 暗号化モジュールがインストールされていない場合は、このパラメータは何の影響も及ぼしません。

返り値

成功した場合に SQLite3 オブジェクトを返します。

エラー / 例外

失敗した場合に Exception をスローします。

変更履歴

バージョン 説明
7.0.10 The filename can now be empty to use a private, temporary on-disk database.

例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
7 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
1 year 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