我做了一個查詢來完成我的工作。但它確實有一些錯誤。如何只更新從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