SQLite3 / PDO — нет такой таблицы, хотя она существует

У меня проблема с базой данных 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.

Спасибо за помощь 🙂

3

Решение

База данных, которую вы открыли, не содержит эту таблицу.

SQLite с радостью откроет любое имя файла; если он не существует, он создаст новую пустую базу данных.

Проверьте имя файла вашей базы данных.

5

Другие решения

Благодаря принятому ответу, который указал мне правильное направление.
Я использую Symfony 4.1 и понял, что базовый каталог для Symfony является public каталог (должен быть app в 2.8), чтобы открыть мою базу данных, мне пришлось сделать:

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

Но тогда каждый призыв к доктрине в команде (как doctrine:schema:update) должен вызываться в прямой подпапке проекта, например так:

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

0

По вопросам рекламы [email protected]