quer-6ren">
gpt4 book ai didi

php - 为什么我可以在 PHP 中的 SQLite 数据库上使用 SELECT 而不是 INSERT?

转载 作者:行者123 更新时间:2023-12-03 16:45:24 25 4
gpt4 key购买 nike

我可以从 PHP 的 SQLite 数据库中检索信息,但不能写入。例如,这段代码工作得很好:

$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));

当我从命令行而不是在 PHP 中执行上述 INSERT 时,我得到了预期的结果(tblname 中的一个新行):
$ sqlite3 foo.db
sqlite> INSERT INTO tblname VALUES(NULL, 'val1', 'val2');

这是我第一次使用 PDO(或 SQLite),因此将不胜感激。

最佳答案

检查运行 PHP 脚本的用户是否具有写入 foo.db 的权限。

此外(根据内存,如果我错了,请纠正我)用户将需要对包含 foo.db 的目录的写权限,否则 SQLite3 将抛出一个不太有用的错误消息。

关于php - 为什么我可以在 PHP 中的 SQLite 数据库上使用 SELECT 而不是 INSERT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2039218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com