如何将答案的描述更新到数据库中?
我有一个用于更新问题描述的工作代码。
每当我点击更新时,只有问题描述在更新,而不是答案。
我添加了一些代码。。。
这是我的新代码,但似乎也不起作用:
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());
}
}
不要在中使用$x
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++){
$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());
}
注意将"$x"替换为"$sql",就像第一个for循环中一样。