我遇到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。
感谢您的帮助: - )
答案 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