我做了一个查询来做我的工作。但它确实有一些错误。
1)我在 mysql 表中有 6 个图像字段和一些其他字段
2)更新我使用带有6个文件上传文件并标记为image1 image2的html表单...
3)所以如果我只想更新第 5 张图片,我必须将新图片上传到以表格形式提交的 image5。
为了更新 mysql 表,我做了这个查询。
$image=array(
1 =>$_FILES['image1']['name'],
2 =>$_FILES['image2']['name'],
3 =>$_FILES['image3']['name'],
4 =>$_FILES['image4']['name'],
5 =>$_FILES['image5']['name'],
6 =>$_FILES['image6']['name'],
);
$i=1;
$sql = "UPDATE salehotel ";
$sql .="SET"." ";
foreach($image as $value){
if(!$value==""){
$sql .= "`image".$i."`"."="."'". $value ."'".",". " ";
$i++;
}
}
$sql .="
`name`='$name',
`status`='$status',
`type`='$type',
`location`='$location',
`price`='$price',
`description`='$description'
WHERE
`property_id`='$edit'
";
3)当我用它来更新所有 6 个图像时,没有错误,它会更新所有东西。
4)但是当我尝试更新单个图像时(例如:想如果我想更新 image5)或者我从 image5 字段中选择一个文件,这个查询总是更新表中的第一个图像。
5)我知道为什么会这样。在我的 foreach 循环内的查询中,我只寻找不等于“”的 $values。然后增加 $i。所以它只增加了一次。所以它更新image1或者我想更新image5。
6)那么我怎样才能摆脱这个错误呢?
提前致谢。