【发布时间】:2014-01-25 13:41:02
【问题描述】:
得到以下错误:
致命错误:无法通过引用传递参数 2 C:\xampp\htdocs\ppa\php\process_images.php 在第 29 行
只是尝试更新一条数据库记录,如下调试代码
$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。
【问题讨论】:
-
processimage.php 代码在哪里?
标签: php mysqli prepared-statement