0

如何将答案的描述更新到我的数据库中?

我有一个用于更新问题描述的工作代码。

每当我单击更新时,只有问题描述会更新而不是答案。

我添加了一些代码...

这是我的新代码,但它似乎也不起作用:

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());
    }
}
4

2 回答 2

0

不要使用 $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());
    }

而是使用您选择的另一个变量。这将使您的循环复杂化。

于 2013-08-28T08:49:42.377 回答
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());
}

请注意在第一个 for 循环中将“$x”替换为“$sql”。

于 2013-08-28T08:51:09.247 回答