尝试更新joomla插件中的表时出现Mysql语法错误

时间:2012-12-27 08:40:37

标签: mysql sql

我为joomla插件写了这个查询

$query = "UPDATE #__content SET fulltext='$_POST[statenames]' WHERE id=$articleId";

但它给出了错误 -

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   'fulltext ='1'WHERE id = 41'在第1行附近SQL = UPDATE jst_content   SET fulltext ='1'WHERI id = 41

错误是什么?

1 个答案:

答案 0 :(得分:2)

FULLTEXT是MySQL保留关键字。您必须用反引号包装该列。

$query = "UPDATE #__content SET `fulltext` = '$_POST[statenames]' WHERE id=$articleId";

作为旁注,如果变量的值来自客户端,则查询易受SQL Injection攻击。请查看下面的文章,了解如何防止它。通过使用PreparedStatements,您可以摆脱在值周围使用单引号。