1

我为 joomla 插件编写了这个查询

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

但它给出了错误 -

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

错误是什么?

4

1 回答 1

2

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

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

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

于 2012-12-27T09:12:14.777 回答