Php 插入100+;将变量转换为查询字符串

Php 插入100+;将变量转换为查询字符串,php,mysqli,Php,Mysqli,我有一个在线调查格式,大约有200个输入/选择字段,我现在想将其写入我的数据库。现在,由于我不想经历一个又一个地写出查询字符串中每个变量的繁琐过程,我希望有一种更简单的方法,例如使用数组?这里是我使用的解决方案。它要求数据库字段名称与名称相同: $querystring1 = ""; $querystring2 = ""; foreach($_POST as $key => $var) { $querystring2 .= "'".$var."',"; $querystring1

我有一个在线调查格式,大约有200个输入/选择字段,我现在想将其写入我的数据库。现在,由于我不想经历一个又一个地写出查询字符串中每个变量的繁琐过程,我希望有一种更简单的方法,例如使用数组?

这里是我使用的解决方案。它要求数据库字段名称与
名称相同:

$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());

每个字段在数据库中都有自己的列吗?是的,我已经编写了$variable=$\u POST['inputfield']定义。在编写SQL查询时,这只是为了避免重复工作。请向我们提供更多详细信息,以及您到目前为止所做的尝试。显然,现在使用mysqli而不是mysql!这是天才,正是我需要的。我只是对foreach($\u POST)部分感到好奇,我还需要手动为每个变量编写定义吗(例如,$myvar=$\u POST['fieldname']或者脚本是否会自动为每个传入的$\u POST提交执行此操作?@Armitage2k这是一场灾难。事实上,使用此代码,任何人都可以通过SQL注入操作调查结果。否,
$myvar=$\u POST['fieldname']
在这种情况下是不必要的。为了安全起见,您可能需要事先在
$\u POST
上执行mysql\u real\u escape\u字符串。@AdamB您不必编写“完整系统”保护此代码不受SQL注入的影响。这里的问题是,人们会在不阅读注释的情况下复制和粘贴您的代码,并且他们的应用程序中会留下严重的安全问题。