PHP PDO SQLite connection


PHP PDO SQLite connection

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

如果数据库。如果找不到SQL文件,它将尝试创建文件。

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

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

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

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