SQLite3 / PDO - 尽管确实存在,但没有这样的表

时间:2014-10-15 09:35:53

标签: php pdo sqlite

我遇到SQLite3数据库的问题,我可以使用sqlite3命令或PHPStorm内置数据库管理器访问它,但我正在处理的应用程序中找不到表格。它似乎正确连接到数据库。

这行PHP导致PDOException:

$query = "SELECT * FROM users";
$results = self::$app->db->query($query);

例外只是SQLSTATE[HY000]: General error: 1 no such table: users。顺便说一句,我正在使用Slim框架。

我不知道该怎么做,因为我不熟悉Slim和SQLite。

感谢您的帮助: - )

2 个答案:

答案 0 :(得分:6)

您打开的数据库不包含此表。

SQLite很乐意打开任何文件名;如果它不存在,它将创建一个新的空数据库。

检查数据库文件名。

答案 1 :(得分:0)

感谢接受的回答为我指明了正确的方向。 我正在使用Symfony 4.1,并意识到Symfony的基本目录是public目录(在2.8中应为app),因此打开数据库必须要做:

# file: PROJECT_ROOT/.env
DATABASE_URL="sqlite:///../my_super.db"

但是随后,必须在项目的直接子文件夹中调用命令中每个对学说的调用(例如doctrine:schema:update),

PROJECT_ROOT/bin$ ./console doctrine:schema:update --dump-sql