我做了一个查询来完成我的工作。但它确实有一些错误。如何只更新从mysql表中选择的字段
1)我有6个图像场,并在MySQL表
2)一些其它字段更新我使用具有6个文件上传日提交的,并标记为image1的图像2的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),但是当我尝试更新单个图像,(例如:想,如果我想更新图像5)任我选择从图像5场一个文件,这个查询总是更新表中的第一张图像。
5)我知道为什么会发生。在我的查询内foreach循环,我只看$值不等于“”。然后增加$ i。所以它只增加一次。所以它更新image1要么我想更新image5。
6),所以我怎么能得到这个错误的拼车?
感谢提前。
变化的foreach()循环的for()循环,每次数到5的检查,如果如果有一个文件 – 2012-09-15 03:18:06
抱歉需要一些时间.. – Yasitha