【发布时间】:2019-06-13 04:08:30
【问题描述】:
下面的代码块没有按预期工作。
我已经确认 DELETE 语句(在第二行中)直接在 sqlite3 的命令行上工作,其中 OutputID = 1
$myPDO = new PDO("sqlite:$dbpath");
$stmt = $myPDO->prepare("DELETE FROM Output WHERE ID = :OutputID");
$stmt->bindParam(':OutputID', $OutputID, PDO::PARAM_INT);
$stmt->execute();
echo $stmt->rowCount();
预期结果是 1,但我得到 0
【问题讨论】:
-
你在哪里设置
$OutputID? -
请验证 $OutputID 的值。确保它包含预期值。我在上面的代码中没有看到任何错误。很确定 $OutputID 等于 0 或 NULL ...
-
我在PDO对象声明前设置了$OutputID,确认为1
-
你确定是ID而不是ID?也可以告诉我们是否抛出任何错误吗?
-
它是ID,我只是查看了抛出的错误:数据库是只读的,所以我将它移动到具有777权限的目录中,现在它可以工作了:)