2024 年日本 PHP 研討會

SQLite3::__construct

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

SQLite3::__construct 初始化 SQLite3 物件並開啟 SQLite 3 資料庫

說明

公開 SQLite3::__construct(字串 $filename, 整數 $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, 字串 $encryptionKey = "")

實例化一個 SQLite3 物件並開啟與 SQLite 3 資料庫的連線。如果建置包含加密功能,則它會嘗試使用金鑰。

參數

filename

SQLite 資料庫的路徑,或 :memory: 以使用記憶體資料庫。如果 filename 為空字串,則會建立一個私有的、暫時的磁碟資料庫。這個私有資料庫將在資料庫連線關閉後自動刪除。

flags

用於決定如何開啟 SQLite 資料庫的選用旗標。預設情況下,開啟使用 SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE

encryptionKey

加密和解密 SQLite 資料庫時使用的選用加密金鑰。如果未安裝 SQLite 加密模組,則此參數將無效。

錯誤/例外

失敗時拋出 例外

更新日誌

版本 說明
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());
?>

新增註釋

使用者貢獻的註釋 2 則註釋

bohwaz
13 年前
只有在安裝 SQLite 加密模組的情況下,`$encryption_key` 和所有加密功能才會啟用。這是一個專有的、價格昂貴的模組。因此,如果未安裝此模組,提供加密金鑰將完全沒有作用。
jtreurniet@example.com
7 年前
請注意,SQLITE3_OPEN_READONLY 旗標不能與 SQLITE3_OPEN_CREATE 旗標一起使用。如果您合併這兩個旗標,將會拋出一個相當無用的「無法開啟資料庫:記憶體不足」例外狀況。
To Top