SQLite3::__construct

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

SQLite3::__construct 实例化 SQLite3 对象并打开 SQLite 3 数据库

描述

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

实例化 SQLite3 对象并打开到 SQLite 3 数据库的连接。如果构建包含加密,则它将尝试使用密钥。

参数

filename

SQLite 数据库的路径,或 :memory: 用于使用内存数据库。如果 filename 为空字符串,则将创建一个私有的、临时的磁盘数据库。此私有数据库将在数据库连接关闭后立即自动删除。

flags

用于确定如何打开 SQLite 数据库的可选标志。默认情况下,打开使用 SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE

encryptionKey

在加密和解密 SQLite 数据库时使用的可选加密密钥。如果未安装 SQLite 加密模块,则此参数将不起作用。

错误/异常

在失败时抛出 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());
?>

添加说明

用户贡献说明 2 个说明

13
bohwaz
13 年前
$encryption_key 和所有加密功能只有在安装了 SQLite 加密模块时才会启用。这是一个专有的、昂贵的模块。因此,如果它不存在,提供加密密钥将绝对没有任何效果。
7
jtreurniet at example dot com
7 年前
请注意,SQLITE3_OPEN_READONLY 标志不能与 SQLITE3_OPEN_CREATE 标志组合使用。如果将这两个标志组合在一起,将会抛出不太有帮助的“无法打开数据库:内存不足”异常。
To Top