我有以下代碼。我有一個表單設置,有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