У меня есть сайт php с базой данных SQLite. Этот код открывает и запрашивает базу данных без ошибок:
use App\SQLiteConnection;
$pdo = (new SQLiteConnection())->connect();
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$stmt = $pdo->query("SELECT empid, fullname FROM employees ORDER BY fullname");
while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) {
$employees[] = [
'empid' => $row['empid'],
'fullname' => $row['fullname']
];
}
Этот код здесь:
use App\SQLiteConnection;
$pdo = (new SQLiteConnection())->connect();
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$training_id = $_POST['id'];
$stmt = $pdo->prepare("SELECT description from training WHERE id = :training_id");
$stmt->bindParam(':training_id', $training_id);
$stmt->execute();
echo $stmt->fetchColumn();
получает ошибку:
Неустранимая ошибка: Uncaught PDOException: SQLSTATE [HY000] [14] не удалось открыть файл базы данных в C: \ Bitnami \ wampstack-7.3.10-0 \ apache2 \ htdocs \ arborcircle \ app \ SQLiteConnection.php: 23 Трассировка стека: 0 C: \ Bitnami \ wampstack-7.3.10-0 \ apache2 \ htdocs \ arborcircle \ app \ SQLiteConnection.php (23): PDO -> __ construct ('sqlite: db / EmpTr ... ') 1 C: \ Bitnami \ wampstack-7.3.10-0 \ apache2 \ htdocs \ arborcircle \ functions \ get_training_description.php (10): App \ SQLiteConnection-> connect () 2 {main}, брошенный в C: \ Bitnami \wampstack-7.3.10-0 \ apache2 \ htdocs \ arborcircle \ app \ SQLiteConnection.php в строке 23
Вот мой класс SQLiteConnection:
class SQLiteConnection {
/**
* PDO instance
* @var type
*/
private $pdo;
/**
* return in instance of the PDO object that connects to the SQLite database
* @return \PDO
*/
public function connect() {
if ($this->pdo == null) {
$this->pdo = new \PDO("sqlite:" . Config::PATH_TO_DB_FILE);
}
return $this->pdo;
}
}
Оба примерато, как я запрашиваю базу данных, похоже на меня, но я не понимаю, почему во втором примере выдается ошибка открытия той же базы данных.
Любая помощь приветствуется.