PHP PDO SQLite连接

时间:2016-11-15 20:10:15

标签: php sqlite pdo

我创建了与数据库的连接,但我不知道它为什么总是创建一个新的空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";

提前致谢! 丹尼斯

2 个答案:

答案 0 :(得分:2)

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

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

如果找不到database.sql文件,它将尝试创建该文件。

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

答案 1 :(得分:-1)

您需要将扩展​​名更改为相应的文件类型,因为.sql是脚本文件(DML或DDL操作的SQL语句),而不是实际的SQLite数据库文件。通常,SQLite文件扩展名包括: .db .sqlitedb .sqlite ,SQLite 3( .sqlite3 .s3db .sl3 ),SQLite 2( .sl2 .s2db .db2 < / em>)仍然是more。列出您的目录文件以找到确切的文件扩展名:

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

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