如何将答案的说明更新到我的数据库?
我有一个更新问题描述的工作代码。
每当我点击更新时,问题描述都不会更新答案。
我添加了一些代码......
这是我的新代码,但它似乎无法正常工作:
for ($i = 0; $i < sizeof($selected); $i++)
{
$sql = sprintf("UPDATE exam_questions SET question_description = '%s' WHERE question_id = '%s'",
mysql_real_escape_string($question[$i]),
mysql_real_escape_string($selected[$i]));
mysql_query($sql)or die(mysql_error());
$sql = mysql_query("SELECT * FROM exam_answers WHERE answer_question_set_id = '".$selected[$i]."'")or die(mysql_error());
$count=mysql_num_rows($sql);
for($e = 0; $e<$count; $e++){
$sql = sprintf("UPDATE exam_answers SET answer_description = '%s' WHERE answer_question_set_id = '%s'",
mysql_real_escape_string($answer[$e]),
mysql_real_escape_string($answerid[$e]));
mysql_query($sql)or die(mysql_error());
}
}
答案 0 :(得分:0)
不要在
中使用$ xfor($x = 0; $x < sizeof($answer); $x++){
**$x** = sprintf("UPDATE exam_answers SET answer_description = '%s' WHERE answer_question_set_id = '%s'",
mysql_real_escape_string($answer[$x]),
mysql_real_escape_string($answerid[$x]));
mysql_query($x)or die(mysql_error());
}
而是使用您选择的另一个变量。这会使你的循环变得复杂。
答案 1 :(得分:0)
而不是:
for($x = 0; $x < sizeof($answer); $x++){
$x = sprintf("UPDATE exam_answers SET answer_description = '%s' WHERE answer_question_set_id = '%s'",
mysql_real_escape_string($answer[$x]),
mysql_real_escape_string($answerid[$x]));
mysql_query($x)or die(mysql_error());
}
你应该这样做:
for($x = 0; $x < sizeof($answer); $x++){
$sql = sprintf("UPDATE exam_answers SET answer_description = '%s' WHERE answer_question_set_id = '%s'",
mysql_real_escape_string($answer[$x]),
mysql_real_escape_string($answerid[$x]));
mysql_query($sql)or die(mysql_error());
}
注意用“$ sql”替换“$ x”,就像在第一个for循环中一样。