我想懶惰(或聰明):我有7個複選框,它們與MySQL表中的7列相關。將數組提取到動態變量中
複選框被張貼在一個陣列:
$can = $_POST['can'];
我創建了下面的循環轉儲爲MySQL插入變量:
for($i=1;$i<8;$i++){
if($can[$i] == "on"){
${"jto_can".$i} = 'Y';
}
else{
${"jto_can".$i} = 'N';
}
}
print_r($jto_can1.$jto_can2.$jto_can3.$jto_can4.$jto_can5.$jto_can6.$jto_can7);
這種正確輸出:
YYNYYYY
但是,當我嘗試在我的MySQL更新中使用這些變量時,它不接受更改ES。
mysqli_query($db, "UPDATE jto SET jto_can1 = '$jto_can1', jto_can2 = '$jto_can2', jto_can3 = '$jto_can3', jto_can4 = '$jto_can4', jto_can5 = '$jto_can5', jto_can6 = '$jto_can6', jto_can7 = '$jto_can7' WHERE jto_id = '$id'")or die(mysqli_error($db));
任何人都可以解釋爲什麼print_r顯示變量,而MySQL更新沒有?
堅持與陣列,沒有任何意義或創造所有這些變量的好處。 – nickb 2013-02-25 18:09:06
此外,你錯過了這裏的「WHERE」之間的空間:'jto_can7 ='$ jto_can7'WHERE jto_id ='$ id'' – nickb 2013-02-25 18:09:51
我應該如何將數組加載到MySQL中呢? – thebarless 2013-02-25 18:10:15