我有一个sqlite数据库,它不是我自己创建的,而是来自一个受信任的来源,该来源位于一个名为"database"的文件夹中。此文件夹存储在我的本地主机文件夹中的另一个文件夹中。
但是,当我尝试运行一个简单的应用程序时,我收到的错误是这样的:
SQLSTATE[HY000] [14] 无法打开数据库文件
有谁知道这指的是什么?我怀疑这是我的代码,但这里是:
PDO.class.php
class pdoClass {
// private statics to hold the connection
private static $dbConnection = null;
// make the next 2 functions private to prevent normal
// class instantiation
private function __construct() {
}
private function __clone() {
}
public static function getConnection() {
// if there isn't a connection already then create one
if ( !self::$dbConnection ) {
try {
self::$dbConnection = new PDO('sqlite:/database/library.sqlite');
self::$dbConnection->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch( PDOException $e ) {
echo $e->getMessage();
}
}
// return the connection
return self::$dbConnection;
}
}
?>
然后,另一个类引用它,该类
要求该类将任何 sql 数据输出为 XML 格式。非常感谢为什么我的sqlite数据库似乎不想打开的任何帮助(该文件设置为读写)。
谢谢提姆
代码看起来不错,我的感觉是问题出在路径/database/library.sqlite上
这是一条绝对的路径。那么il将在文件系统的根目录中搜索数据库目录,这就是您想要的吗?或者,也许 DataBSE 的目录与正在运行的脚本相同?在这种情况下,sqlite:database/library.sqlite'