SQLite3构造函数创建数据库错误-PHP
我想在我的网站上实现一个语言功能。我计划用一个简单的SQLite数据库系统来实现这一点 到目前为止,我得到了以下代码:SQLite3构造函数创建数据库错误-PHP,php,sqlite,Php,Sqlite,我想在我的网站上实现一个语言功能。我计划用一个简单的SQLite数据库系统来实现这一点 到目前为止,我得到了以下代码: private function openLanguagePack($package){ if(!file_exists($this->getLanguagePackUrl($package))){ $create = true; } $this->languagePacks[$package] = new SQLite3($
private function openLanguagePack($package){
if(!file_exists($this->getLanguagePackUrl($package))){
$create = true;
}
$this->languagePacks[$package] = new SQLite3($this->getLanguagePackUrl($package));
if($create){
$this->languagePacks[$package]->queryExec('CREATE TABLE language (token nvarchar(50), text nvarchar(4000), PRIMARY KEY (token));');
}
}
(该代码来自一个旧项目,并使用了较旧版本的SQLite。
我现在正在将它重写为SQLite3
但使用此代码,我会遇到以下错误:
致命错误:未捕获异常“exception”,消息为“无法”
打开数据库:无法打开数据库文件'
我看不出错误。在关于构造函数的文章中,它说如果不存在数据库,ist会自动创建一个新的数据库。(目前数据库不存在。)
有人知道这个问题吗?我想你已经回答了你自己的问题……创建一个数据库。在你发布的文档链接中没有提到数据库是自动为你创建的。它只是创建一个实例并打开由
$filename
参数提供的数据库。例外情况是如果要使用内存中的表,请在以下标志下:SQLITE3\u OPEN\u CREATE:如果数据库不存在,请创建数据库。
Yes,但根据您的代码,您没有使用该标志。我看不到如何自动为您创建任何内容。(为了透明起见,我不熟悉SQLite3,我的评论是对您的代码和提供的文档链接的观察。)默认情况下,open使用SQLITE3\u open\u READWRITE | SQLITE3\u open\u CREATE。
opps…我的大脑停在那一行的末尾,没有移动到下一行来查看SQLITE3\u open\u CREATE
。我的道歉。。。。