这里发生了什么?以下代码应更新" dodelete" " id"的每一行的列火柴。
没有显示任何错误,但该列根本没有更新,ID也匹配。
if (isset($_POST['delete'])) {
//Delete the image, first update the database, then move the image to a new folder.
foreach($_POST['product'] as $x) {
echo $x."<br />";
if ($stmt = $mysqli->prepare("UPDATE images SET dodelete = ? WHERE id = ?")) {
$deletedVal = 1;
if (!$stmt->bind_param("ii", $deletedVal, $id)) {
echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}
if (!$stmt->execute()) {
echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}
$stmt->close();
} else {
echo "Unable to delete image!";
}
}
}
修改
应该绑定$x
而不是$id
答案 0 :(得分:1)
将我的评论从上面复制到这个答案:
您的意思是绑定$x
还是$id
?因为您似乎没有将$id
设置为任何值。
foreach($_POST['product'] as $x) { // should be "as $id"?
. . .
if (!$stmt->bind_param("ii", $deletedVal, $id)) {
答案 1 :(得分:0)
将$ id替换为$ x ['id'](假设id是数组中的键)。