2016-09-29 45 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注入来操纵调查结果 –

相关问题