更新语句的语法错误

时间:2015-10-14 09:10:51

标签: php mysql

我不知道此语法中的错误在哪里

$sql = "UPDATE $table SET question='$question', answer='$answer', name='$nwbad' WHERE id='$id'";

我打印后不能正常工作

  

UPDATE social SET question ='اختاراللهشبهالجزيرهالعربيهمهداالرسالهالاسلام',answer ='لتكونبعيدعنالصراعات',name ='Function was not added,update by:احمدنزار'WHERE id ='1'or

什么是??! 它有时会向我显示“WHERE id ='1'”

时的错误

3 个答案:

答案 0 :(得分:0)

错误似乎来自这一行

'Function Wasn't Added 

使用mysqli_real_escape_stringprepared statments来避免此错误。

答案 1 :(得分:0)

从数据库中提取数据后,请在php端尝试此操作。

$ your_string =“未添加功能。”;

echo str_replace(“'”,“”,$ your_string);

注意:它会删除所有单引号

您可以使用mysql_real_escape_string

答案 2 :(得分:0)

在将字符串添加到SQL查询之前,您需要转义字符串:

UPDATE social
SET question='اختار الله شبه الجزيره العربيه مهدا الرساله الاسلام', 
answer='لتكون بعيد عن الصراعات',
name='Function Wasn''t Added , Updated by: احمد نزار'
WHERE id='1'

这应该有效,假设更新者是您的字符串的一部分而不是数据库中的列。

请参阅:http://php.net/manual/en/mysqli.real-escape-string.php