收到以下错误:
致命错误:无法通过引用传递参数2 第29行的C:\ xampp \ htdocs \ ppa \ php \ process_images.php
只需尝试更新数据库记录,就可以使用以下调试代码
$id = (int)$x;
echo $id.". Type: ".gettype($id);
产生:4。输入:整数 所以变量是正确的类型。
这是我的代码
if (isset($_POST['delete'])) {
//Delete the image, first update the database, then move the image to a new folder.
foreach($_POST['product'] as $x) {
if ($stmt = $mysqli->prepare("UPDATE images SET dodelete = ? WHERE id = ?")) {
$id = (int)$x;
echo $id.". Type: ".gettype($id);
$stmt->bind_param("ii", 1, $id); <---- line 29
$stmt->execute();
$stmt->close();
} else {
echo "Unable to delete image!";
}
}
}
起初我直接从foreach语句绑定$ x变量,我认为这是问题,因为错误说它不能通过引用传递参数,但是你可以看到我创建了一个新变量$ id。
答案 0 :(得分:4)
$stmt->bind_param("ii", 1, $id);
---^
这是因为1不是参数,它是一个整数。你需要使用bindValue。