我有下面的代码。我有一个表单设置,其中设置了 10 个输入字段,5 个用于 column1,5 个用于 column2。
try
{
$count = count($_POST['column1']);
$sql = 'INSERT INTO tablename (column1, column2) VALUES ';
for ($i=0; $i< $count; $i++)
{
$sql2 = '(' .$_POST['column1'][$i] . ', ' . $_POST['column2'][$i] . ')';
if ($i <$count - 1) {
$sql2 .= ',';
}
echo "$sql2 'indside'<br>";
}
echo "$sql2 'outside'<br>";
$sql3 = "$sql $sql2";
$pdo->exec($sql3);
}
catch (PDOException $e)
{
$output = 'Error: ' . $e->getMessage();
exit();
}
如果我在 10 个输入字段中输入 1,2,3,4,5,6,7,8,9,10 并点击提交,我会得到
(1, 6), 'indside'
(2, 7), 'indside'
(3, 8), 'indside'
(4, 9), 'indside'
(5, 10) 'indside'
(5, 10) 'outside'
5 被插入到第 1 列,10 被插入到我的数据库的第 2 列。
我真正想要的是插入 5 个单独的行,因此在第 1 行中插入 1,6,在第 2 行中插入 2,7 等。但是当它在 for 循环中时,我无法弄清楚如何获取 $sql2 的值。这可能吗?或者他们是我可以采取的另一种方法来实现这一点吗?