Я могу получать информацию из базы данных SQLite на PHP, но не записывать в нее. Например, этот код работает отлично:
$db = new PDO("sqlite:foo.db");
$rowCount = $db->query("SELECT COUNT(*) FROM tblname;")->fetchColumn(0);
echo $rowCount; // works as it should
Однако следующий фрагмент кода приводит к ошибке «невозможно открыть файл базы данных»:
$db = new PDO("sqlite:foo.db");
$db->exec("INSERT INTO tblname VALUES(NULL, 'val1', 'val2');") or die(print_r($db->errorInfo(), true));
Когда я выполняю вышеуказанную INSERT из командной строки, а не из PHP, я получаю ожидаемые результаты (новая строка в tblname):
$ sqlite3 foo.db
sqlite> INSERT INTO tblname VALUES(NULL, 'val1', 'val2');
Я впервые использую PDO (или SQLite в этом отношении), поэтому любая помощь будет принята с благодарностью.