0

我有一个正在运行的 MySQL 查询。我想添加1到一个名为articleswritten.

我收到此错误:

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

代码:

$sql = "UPDATE 'users' SET articleswritten = articleswritten + 1 WHERE `id` = '$userid'";
$result = mysql_query($sql) or die(mysql_error());

我找不到问题。我瞎了吗?

任何帮助,将不胜感激。

4

2 回答 2

0

这应该是

UPDATE `users`

要不就

UPDATE users

单引号使表名无效。查询中的其他所有内容都可以。


但是,您的查询很容易被注入。您应该使用带有 PDO 或 mysqli 的正确参数化查询,而不是使用 ext/mysql

于 2013-03-18T01:58:07.787 回答
0

您不需要在这里单引号表名。这应该做

$sql = "UPDATE users SET articleswritten = articleswritten + 1 WHERE id = '$userid'";
于 2013-03-18T01:58:28.680 回答