这是我正在使用的查询字符串,我尝试了许多不同的方法...
if (!mysqli_query($db_connection,'UPDATE `questions` SET
`question`='.$question.', `answer1`='.$answer1.', `answer2`='.$answer2.',
`answer3`='.$answer3.', `answer4`='.$answer4.', `rationale`='.$rationale.',
`resources`='.$resources.' WHERE `question_id`='.$id))
{
echo("Error description: " . mysqli_error($db_connection));
}
这是我得到的错误:
错误描述:您的SQL语法有错误;检查 与您的MySQL服务器版本相对应的手册 语法。
我尝试使用单引号,不带`和with的双引号。似乎没有任何作用。
答案 0 :(得分:0)
这不是使用单引号或双引号的情况,而是正确地执行了这两种情况,您需要将字符串用双引号引起来,并用单引号打开和关闭连接,例如'answer'=“'。$ variable。',,。 ....然后,引号成为字符串的一部分。
答案 1 :(得分:0)
尝试一下:
$query = mysqli_query($db_connection,"UPDATE `questions` SET question`='{$question}',`answer1`='{$answer1}', `answer2`='{$answer2}', `answer3`='{$answer3}', `answer4`='{$answer4}', `rationale`='{$rationale}', `resources`='{$resources}' WHERE `question_id`=".$id);
if ($query)
{
echo("Error description: " . mysqli_error($db_connection));
}
答案 2 :(得分:0)
首先,正如评论所述,准备好的陈述是必经之路。您愿意接受SQL注入。
第二,关于mysql错误消息,看起来您在查询末尾缺少单引号。 WHERE question_id='.$id
。同时回显查询字符串,您会发现查询的参数中没有单引号。您正在使用单引号创建查询字符串,但未创建查询参数。查询字符串使用双引号,参数使用单引号:
"UPDATE `questions` SET
`question`='".$question."', `answer1`='".$answer1."', `answer2`='".$answer2."',
`answer3`='".$answer3."', `answer4`='".$answer4."', `rationale`='".$rationale."',
`resources`='".$resources."' WHERE `question_id`="'.$id."'"