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 にあると感じています

これは絶対パスです。それで、ファイルシステムのルートディレクトリにあるデータベースディレクトリを検索するのは、あなたが望むものですか? または、データベースは、実行中のスクリプトと同じレベルのディレクトリですか? その場合、sqlite:database/library.sqlite'

于 2012-04-16T16:17:58.417 に答える