2013-02-21 112 views
0

我想插入複選框的選定值到MySQL數據庫使用PHP。我只是不明白爲什麼它不起作用,因爲它迴應了所有的值,但它只會插入第一個選定的數據庫。PHP的foreach循環插入到數據庫中

HTML:

<b>Injury type:</b> 
Bruise <input type='checkbox' name='InjuryType[]' value='1'><br> 
Cut <input type='checkbox' name='InjuryType[]' value='2'><br> 
Graze <input type='checkbox' name='InjuryType[]' value='3'><br> 
Break <input type='checkbox' name='InjuryType[]' value='4'><br> 
Bump <input type='checkbox' name='InjuryType[]' value='5'><br> 

PHP:

foreach($_POST['InjuryType'] as $value) { 
$insert = mysql_query("INSERT INTO AccidentInjuryLink(InjuryID) VALUES ('$value')"); 
echo $value; 
} 
+0

'print_r($ _ POST);'是你預期的數據嗎? – 2013-02-21 20:00:05

+0

1.不要使用mysql驅動程序,而是使用PDO。這可以防止SQL注入;我還可以看到你沒有逃脫你的發佈價值。 2.也許該列有一個主索引,這意味着所有數字必須是唯一的,因此只能插入第一個值。 – silkfire 2013-02-21 20:01:25

+0

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 (另外,就像silkfire所說的,你在這裏也容易受到[SQL注入](http://goo.gl/SHMN)。) – Eric 2013-02-21 20:02:02

回答

1

也許該列有主索引,這意味着所有的數字必須是唯一的,因此僅將所述第一值。