我在网上尽可能阅读所有帖子(不仅仅是在这个精彩的论坛中),我现在使用的是5年前的SQLite,而我仍然是这个" bug" (我不知道如何命名):SQLSTATE [HY000] [14]
那是怎么回事?
ls:
user@host:/folder/where/is/the/site$ ls -lha db_folder/
total 36K
drwxrwxr-x 3 www-data www-data 4.0K May 10 06:15 .
drwxr-xr-x 3 www-data www-data 4.0K May 10 06:34 ..
-rwxrwxrwx 1 www-data www-data 36K May 10 05:22 db.sqlite
提前致谢。
编辑:我的PHP代码,即使它对我来说不是很具体:
$db = new PDO('sqlite:dbname=./db_folder/db_file.sqlite', '', '', array(PDO::ATTR_PERSISTENT => true));
$articles = $db->query('SELECT * FROM articles ORDER BY name')->fetchAll();
答案 0 :(得分:-1)
当进程写入时,sqlite文件被锁定。请参阅有关此here的sqlite文档。
RESERVED锁定表示进程打算在将来的某个时刻写入数据库。一次只有一个进程可以保持RESERVED锁
尝试在写入后关闭sqlite数据库,因为您的脚本可能每次运行时都会尝试重新打开已打开的sqlite文件。