【发布时间】:2021-10-20 00:40:21
【问题描述】:
HTML 输入
<input type="checkbox" value="1" name="que[10][1]">
<input type="checkbox" value="2" name="que[10][2]">
<input type="checkbox" value="3" name="que[10][3]">
...
<input type="checkbox" value="40" name="que[10][40]">
PHP 提交
$submit = $_POST["que"];
我想在我的数据库中存储以下数组:
Array
(
[10] => Array
(
[0] => 26
[1] => 27
[2] => 28
[3] => 29
[4] => 30
[5] => 31
)
)
如何转换为插入语句输出如下:
INSERT INTO `tb_answers` (`question_id`, `answer`) VALUES(10,26),(10,27),(10,28),(10,29),(10,30);
这是我的代码:
$submit = $_POST['que'];
$all_values = [];
$sql_submit_form = "INSERT INTO `tb_answers` (`question_id`, `answer`) VALUES";
foreach ($submit as $question_id => $choise) {
$row_values = [];
foreach ($choise as $choise_data => $s_value) {
$row_values[] = "'" . $question_id . "'"; // question_id
$row_values[] = "'" . $s_value . "'"; // answer
}
$all_values[] = '(' . implode(',', $row_values) . ')';
}
$sql_submit_form .= implode(',', $all_values);
echo $sql_submit_form;
输出:
INSERT INTO `tb_answers` (`question_id`, `answer`) VALUES('10','27','10','28','10','29','10','30','10','31','10','32')
【问题讨论】:
-
到目前为止你尝试过什么?你被困在哪里了?
-
您对给定代码有什么疑问?看起来您以错误的方式构建查询。另外,请注意,构建查询的给定方式对于 SQL 注入是广泛开放的