PHP PDO SQLite连接

PHP PDO SQLite连接,php,sqlite,pdo,Php,Sqlite,Pdo,我创建了到数据库的连接,但我不知道为什么它总是创建一个新的空database.sql文件。当我重命名数据库文件时,他总是创建一个新文件,而不是给我一个错误 这是我的密码 try { $db = new PDO("sqlite:".__DIR__."/database.sql"); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (Exception $e) { ec

我创建了到数据库的连接,但我不知道为什么它总是创建一个新的空database.sql文件。当我重命名数据库文件时,他总是创建一个新文件,而不是给我一个错误

这是我的密码

    try {
   $db = new PDO("sqlite:".__DIR__."/database.sql");
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}   catch (Exception $e) {
    echo "Unable to connect";
    echo $e->getMessage();
    exit;
}

echo "Connected to the database";
提前谢谢!
丹尼斯

这是预期的行为。调用SQLite时,它会查找指定的文件名

    $db = new PDO("sqlite:".__DIR__."/database.sql");
如果找不到database.sql文件,它将尝试创建该文件


另外,为了清晰起见,您可能需要将文件扩展名从.sql更改为.sqlite。

您需要将扩展名更改为适当的文件类型,因为.sql是脚本文件(用于DML或DDL操作的sql语句),而不是实际的sqlite数据库文件。通常,SQLite文件扩展名包括:.db、.sqlitedb、.SQLite、SQLite 3(.sqlite3、.s3db、.sl3)、SQLite 2(.sl2、.s2db、.db2)和still。列出目录文件以查找确切的文件扩展名:

$db = new PDO("sqlite:".__DIR__."/database.db");

如果需要创建数据库,请调用sqlite的命令行(PHP可以使用
exec()
)将数据库文件保存到磁盘。然后,用PDO连接到PHP。

这就是PDO SQLite的工作原理-请参阅。可能重复的“当我重命名数据库文件时,他总是创建一个新文件,而不是给我一个错误。”这是应该的。如果要检查文件是否存在,可以使用
file\u exists()