iT邦幫忙

0

PHP 用list explode 存mysql (已解)

我用checkbox勾選來傳資料,在後台我用list explode把資料分成3份,存到MSQ資料庫,但存取時總是只存到最後一個checkbox的選項而已,我想要每個勾取的選項都存。

	echo '<input type="checkbox" name="wos[]" value='.$row['eng'].','.$row['pos'].','.$row['che'].'>';
foreach($_POST['wos'] as  $wo)  
{  
list($eng, $pos, $che) = explode(",",$wo);
$sql ="insert into myw(eng,pos,che) VALUES( '$eng','$pos','$che')";
}  

求高手告訴哪出問題!

看更多先前的討論...收起先前的討論...
淺水員 iT邦研究生 4 級 ‧ 2020-10-17 01:10:37 檢舉
MSQ 是 MSSQL 的意思嗎?第一次聽人這樣說...
當迴圈跑完,$sql 是最後一個有勾選的 checkbox 資料不是很正常嗎?
blacking iT邦新手 5 級 ‧ 2020-10-17 01:39:11 檢舉
謝謝我修改一下問題
淺水員 iT邦研究生 4 級 ‧ 2020-10-17 01:49:24 檢舉
每產生一個 sql 就執行一次即可,雖然不是好方法。

其實 VALUES 可以同時插入多筆資料,你可以用多個括號,每組就是一組資料
類似這樣: VALUES('a', 1, 2),('b', 3, 4) ....

最後請研究一下 SQL 注入攻擊。
blacking iT邦新手 5 級 ‧ 2020-10-17 02:53:43 檢舉
謝謝,我最後知道怎改 每產生一個 sql 就執行一次,雖然有點慢,但很高興會改了。
淺水員 iT邦研究生 4 級 ‧ 2020-10-17 11:09:26 檢舉
SQL注入攻擊記得研究一下。
目前這種接字串的方式學校交作業求文憑就算了,出來工作這樣寫是對客戶不負責。

尚未有邦友回答

立即登入回答