Re: [請益] php 迴圈宣告變數

看板PHP作者 (~砍掉重練~)時間15年前 (2010/06/05 12:12), 編輯推噓2(2012)
留言14則, 3人參與, 最新討論串2/3 (看更多)
感謝各位板友的幫忙, 這部份我已經解決了 ~~~ 但....下面要取值進mysql又遇到問題 ~"~ $camquery1 = "UPDATE test SET cam1 = '$cam[1]' WHERE email = '$email'"; mysql_query($query1, $con) or die('Error in query1'); $camquery2 = "UPDATE test SET cam2 = '$cam[2]' WHERE email = '$email'"; mysql_query($query2, $con) or die('Error in query2'); $camquery3 = "UPDATE test SET cam3 = '$cam[3]' WHERE email = '$email'"; mysql_query($query3, $con) or die('Error in query3'); $camquery4 = "UPDATE test SET cam4 = '$cam[4]' WHERE email = '$email'"; mysql_query($query4, $con) or die('Error in query4'); $camquery5 = "UPDATE test SET cam5 = '$cam[5]' WHERE email = '$email'"; mysql_query($query5, $con) 我使用 $camquery = array(); ...... ...... (略) for ($i = 1; $i < 13; $i++) { $camquery[$i] = "UPDATE test SET 'cam$i' = {$cam[$i]} WHERE email = '$email'"; mysql_query($camquery[$i], $con) or die('Error in query'); } 這樣寫會跑進Error in query ........實在不曉得哪邊的問題 只好又發問 冏... 呃 有懷疑是 陣列不能存字串 但不確定 Orz .....再一次謝謝 ※ 引述《winnieboy (~砍掉重練~)》之銘言: : 各位前輩好 由於之前剛學php 亂寫了宣告以下 程式 - - : $cam1 = $_POST['cam1']; : $cam2 = $_POST['cam2']; : $cam3 = $_POST['cam3']; : $cam4 = $_POST['cam4']; : $cam5 = $_POST['cam5']; : $cam6 = $_POST['cam6']; : $cam7 = $_POST['cam7']; : $cam8 = $_POST['cam8']; : $cam9 = $_POST['cam9']; : $cam10 = $_POST['cam10']; : $cam11 = $_POST['cam11']; : $cam12 = $_POST['cam12']; : 後來覺得應該可以用迴圈下去跑,看起來比較少行 - - : 改成這樣 : for ($i = 1; $i < 13; $i++) { : $cam$i = $_POST['cam'.$i]; : } : 但是這樣就沒辦法跑了 我想請問一下 是我哪邊寫錯了 困擾了好久~~ -- http://www.wretch.cc/user/littlesafe99 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.184.53.229

06/05 12:20, , 1F
是否要使用 myArray = Array("字串1", "字串2"..)的方式
06/05 12:20, 1F

06/05 12:52, , 2F
$camquery[] = array(); ----> $camquery = array();
06/05 12:52, 2F

06/05 12:53, , 3F
如果在test前後加上`test`(「!」左邊那顆的引號)是否ok?
06/05 12:53, 3F

06/05 12:53, , 4F
你的寫法會使 $camquery 變成 array(array());
06/05 12:53, 4F

06/05 12:54, , 5F
另外就是陣列變數的左右加上大括號:{$cam[1]}
06/05 12:54, 5F

06/05 12:54, , 6F
不然就是你的query有問題, 印出 mysql_error() 看看
06/05 12:54, 6F

06/05 13:43, , 7F
我剛試了還是不行耶 ~~
06/05 13:43, 7F
※ 編輯: winnieboy 來自: 111.184.53.229 (06/05 13:45)

06/05 13:52, , 8F
現在網路速度不知為何很慢- -晚點再試 超冏~~
06/05 13:52, 8F

06/05 15:33, , 9F
經過反覆推敲 知道問題在 'cam$i' 這邊 ...還在改 0.
06/05 15:33, 9F

06/05 15:36, , 10F
目前懷疑是 SET 不能加變數 = =
06/05 15:36, 10F

06/05 15:45, , 11F
'cam$i' 改成 cam$i 就好了 Orz 感謝各位 ~~~
06/05 15:45, 11F

06/05 15:53, , 12F
最後是這樣 SET cam$i = $cam[$i] 就成功了 0.0
06/05 15:53, 12F

06/05 17:05, , 13F
更正一下 是 SET cam$i = '$cam[$i]' 這樣 ^___^ XD
06/05 17:05, 13F

06/05 21:50, , 14F
應該是要這樣 SET `cam$i`='{$cam[$i]}' 比較正確
06/05 21:50, 14F
文章代碼(AID): #1C2Swgok (PHP)
討論串 (同標題文章)
文章代碼(AID): #1C2Swgok (PHP)