0

我有一个 sqlite 数据库,它不是我自己创建的,而是来自一个位于名为“数据库”的文件夹中的可信来源。该文件夹存储在我的 localhost 文件夹中的另一个文件夹中。

但是,当我尝试运行一个简单的应用程序时收到的错误是:

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 数据库似乎不想打开的任何帮助(文件设置为读取和写入)。

谢谢蒂姆

4

1 回答 1

1

代码看起来不错,我的感觉是问题出在路径 /database/library.sqlite

这是一条绝对路径。所以il会在文件系统的根目录下搜索数据库目录是不是你想要的?或者数据库可能是与您的运行脚本处于同一级别的目录?在这种情况下 sqlite:database/library.sqlite'

于 2012-04-16T16:17:58.417 回答