2014-06-15 25 views
-1

我正在製作在線考試系統。但我面臨着一個問題。我的問題代碼在這裏。如何在mysql插入值中使用雙變量?

<?php 
$sql="SELECT * FROM `question` WHERE sub_id=$subject_id"; 
$query=mysql_query($sql); 
$question_count=mysql_num_rows($query); 
for($a=1;$a<=$question_count;$a++){ 
    $ans{$a}=$_POST["ans$a"]; 
    $subject_id{$a}=$_POST["sub_id$a"]; 
    $group_id{$a}=$_POST["grup_id$a"]; 

    if(!mysql_query("INSERT INTO answer(sub_id,grup_id,ans)VALUES('$subject_id{$a}','$group_id{$a}','$ans{$a}')")){ 
     echo "problem of query<br>"; 
    } 

} 

?> 

我想用$ subject_id {$ A},$ GROUP_ID {$ A} $ {答一$}在mysql中插入值。

請幫我用這些變量插入查詢

+1

什麼是錯誤或意想不到的結果? – bloodyKnuckles

+1

如何使用'$ ans [$ a]','$ subject_id [$ a]'而不是'$ ans {$ a}',...這不會照顧到sql注入的漏洞。你應該考慮從已棄用的mysql_ *函數轉移到更現代的API,如mysqli或帶有預處理語句和佔位符的PDO。 – VMai

回答

0

請修改方法爲VMAI至於你的問題你爲什麼不只是值到一個變量傳遞到像這樣的查詢之前存儲聲明:

$ans{$a}=$_POST["ans$a"]; 
$subject_id{$a}=$_POST["sub_id$a"]; 
$group_id{$a}=$_POST["grup_id$a"]; 

$_ans = $ans{$a}; 
$_subject_id = $subject_id{$a}; 
$_group_id = $group_id{$a}; 

if(!mysql_query("INSERT INTO answer(sub_id,grup_id,ans)VALUES('$_subject_id','$_group_id','$_ans')")){ 
    echo "problem of query<br>"; 
} 
+0

感謝您的代碼,它的工作:)謝謝你太多了。 :) – Sifat080

+0

好吧,那麼很高興我能幫上忙,請接受我的回答。 :) –

+0

我接受你的答案。通過點擊複選標記。不是嗎? – Sifat080