2016-09-29 134 views
-1

我有一個在線調查格式,包含大約200個輸入/選擇字段,我現在想寫入我的數據庫。現在,由於我不想通過在查詢字符串中逐個寫出每個變量的單調乏味的過程,所以我希望會有更簡單的方法,例如。使用數組?在查詢字符串中插入100多個變量

+0

是否每個字段在數據庫中都有自己的列? –

+0

是的,我已經寫了$ variable = $ _POST ['inputfield']定義。它只是在編寫SQL查詢時不做重複工作。 – Armitage2k

+0

請提供我們更多的細節,以及你迄今爲止所嘗試過的。 –

回答

0

這是我使用的解決方案。它要求數據庫字段名稱與<input>名稱相同:

$querystring1 = ""; $querystring2 = ""; 
foreach($_POST as $key => $var) { 
    $querystring2 .= "'".$var."',"; $querystring1 .= $key.","; 
} 
$insertquerystring = "(".$querystring1.") VALUES (".$querystring2.")"; 
mysql_query("INSERT INTO `mytablename` $insertquerystring") or die(mysql_error()); 
+0

很明顯,現在使用mysqli而不是mysql! –

+0

這是天才,正是我所需要的。只是對foreach($ _ POST)部分感到好奇,是否還需要爲每個變量(例如。$ myvar = $ _POST ['fieldname'])手動編寫一個定義,還是腳本會自動爲每個傳入的$ _POST提交進行定義? – Armitage2k

+1

@ Armitage2k這是一場災難,事實上,通過這個代碼,你可以讓任何人通過SQL注入來操縱調查結果 –