2013-08-18 131 views
-2

我想在php和mysql中創建類似測驗的東西。這只是爲了好玩,但仍然存在提交radio輸入時出現問題的情況。 HTML的例子:插入多個複選框到MySQL

<input type="radio" name="news[]" value="0"><label>Nie</label>&nbsp;&nbsp; 
    <input type="radio" name="news[]" value="1"><label>Tak</label> 

和我的SQL如下:

$answer1 = $_POST['news']; 
$answer2 = $_POST['politics]; 

mysql_query('INSERT INTO quiz (id, answer1, answer2...) VALUES (null, $answer1, $answer2...); 

它alsways插入0,不管什麼會我檢查。我知道我通過使用foreach來解決這個問題,但是我認爲這會創建多個INSERT陳述。

+0

歡迎世界SQL注入:http://en.wikipedia.org/wiki/SQL_injection –

+0

我試着用'mysql_real_escape_string',但它返回' $ answer1'是一個數組。 –

+0

ofcourse你使用輸入數組,這就是爲什麼它返回一個數組() – leonardeveloper

回答

0

嘗試使用一個循環:

$n = count($_POST['news']); 
    for($x = 0; $x < $nl $x++){ 
     mysql_query('INSERT INTO quiz (id, answer1, answer2) VALUES (null, $answer1[$x], $answer2[$x]); 
    } 
+0

這不會創建多個'INSERT'語句嗎? –

+0

它會,這就是你要求的,除非你的表模式有每個選擇的列(這是一個壞主意)。 – AlexLordThorsen

+0

@TomekBuszewski如果你想插入一個語句,那麼你不應該使用輸入數組 – leonardeveloper