Php 多维数组到MySQL
我有一张这样的表格:Php 多维数组到MySQL,php,mysql,arrays,Php,Mysql,Arrays,我有一张这样的表格: Question: <input type="text" name="question[][text]" id="question" /> Type: <select name="question[][type]" id="type"> <option value="1to5scale">1 to 5 scale</option> <option value="freetext"
Question: <input type="text" name="question[][text]" id="question" />
Type:
<select name="question[][type]" id="type">
<option value="1to5scale">1 to 5 scale</option>
<option value="freetext">Open text</option>
</select>
每个问题都有一个文本项和一个类型项。然而,在DB中,每个问题项添加一行(如果有意义的话…),而不是每个完整问题添加一行。如果我有任何想法出错,那么调试我发现的表单是相当困难的…将表单元素名称从
question[][type]
更改为question[type][]
。此表单所做的是为每个表单元素添加问题数组([]表示添加新的数组元素)
正如注释所暗示的,请确保对输入进行了清理。我可以从太空中看到这些安全漏洞!同意。在我理解逻辑的时候,动作又快又脏。
foreach ( $_POST['question'] as $key=>$question )
{
if ($key >= 1) {
$question_text = $question['text'];
$type = $question['type'];
$query = " INSERT INTO questions (question_text, survey_id, type) ".
" VALUES ('$question_text','$survey_id', '$type')";
mysql_query($query) or die('Error ,query failed');
}
}