① PHP通過foreach循環向資料庫中寫入表單項的值的疑問
建議樓主把SQL語句顯示出來,自然就明白問題在哪裡了,我試著簡單說一下,假設你的USER數據表有三個欄位(name、age、sex),_POST提交數據也是這三個欄位的,假設POST的值分別是abc、18、男,那麼帖子的PHP會執行下面的三個SQL語句:
INSERT INTO USER(name) VALUES(abc)
INSERT INTO USER(age) VALUES(18)
INSERT INTO USER(sex) VALUES(男)
現在明白了吧,一、三兩句會語法錯誤,英文沒有在文本欄位添加引號,第二句即使執行成功插入的記錄只有年齡,姓名、性別為空,如果資料庫有限制欄位有效性,那麼第二句插入也會失敗,資料庫需要的語句是:
INSERT INTO USER(name,age,sex) VALUES('abc',18,'男')
如果理解了,自然會下面這樣寫PHP語句:
$sql=<<<END
INSERT INTO USER(name,age,sex)
VALUES('{$_POST['name']}',{$_POST['age']},'{$_POST['sex']}')
END;