我有以下代码。我有一个表单设置,有10个输入字段设置,5列1和5列2。使用数组for循环for循环
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();
}
如果我输入1,2,3,4,5,6,7,8,9,10到我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,6在第1,2,7行第2行等 但我不能解决如何获取$ sql2的值,当它在for循环。这可能吗?或者他们是否可以采取另一种方法来实现这一目标?
谢谢。诀窍。我曾经看过它,但没有看到它的记录。我在上面对你的代码进行了一些细微的修改。我把你的陈述改为我的陈述。将$ sql2 =替换为$ sql2。=,正如你所建议的那样,并在它们之间放置一个空格。在.mysql_real_escape_string($ _ POST ['column1'] – ak85 2012-07-09 11:00:29
我的if语句有一个错误 - 它应该是如果(sql2!=“”)...无论如何,好消息,做得好。 – 2012-07-09 13:20:20