0

我正在创建一个网站,但更新页面遇到了一些问题。该页面更新现有帖子。

这是失败的代码:

$result = mysql_query("UPDATE php_blog SET timestamp='$timestamp',
title='$title', entry='$entry', WHERE id='$id' LIMIT 1") or die(mysql_error());

当我按下表单上的“更新”按钮时,我收到以下 SQL 消息:

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

但我不知道这意味着什么。我已经检查了那个地方,但找不到任何问题...帮助?谢谢

4

4 回答 4

2

在 WHERE 语句之前有一个额外的逗号。您的 SQL 应如下所示:

UPDATE php_blog 
SET timestamp='$timestamp', title='$title', entry='$entry' 
WHERE id='$id' LIMIT 1

请注意,mysql_ 函数已被弃用:

http://php.net/manual/en/function.mysql-query.php

于 2013-02-21T18:31:26.193 回答
1

去掉前面的逗号WHERE

$result = mysql_query("UPDATE php_blog SET timestamp='$timestamp', 
    title='$title',
    entry='$entry' WHERE id='$id' LIMIT 1") 
    or die(mysql_error());
于 2013-02-21T18:32:07.440 回答
0

你的答案的问题:删除之前的逗号WHERE

但是你很幸运你有这个问题并将它发布在这里。您的代码非常脆弱,您应该真正学习如何使用准备好的语句。

也谷歌“SQL注入”来了解这个问题。

于 2013-02-21T18:50:20.643 回答
0

WHERE像这样删除子句前的逗号

$result = mysql_query("UPDATE php_blog SET timestamp='$timestamp', title='$title',entry='$entry' WHERE id='$id' LIMIT 1") or die(mysql_error());
于 2013-02-21T18:33:16.540 回答