我的SQL表不会更新

时间:2013-02-21 18:28:20

标签: php mysql sql

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

以下是失败的代码:

$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 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

删除WHERE之前的逗号:

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

答案 2 :(得分:0)

删除WHERE子句之前的逗号

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

答案 3 :(得分:0)

回答问题:在WHERE

之前删除逗号

但是你很幸运,你有这个问题,并在这里发布。您的代码非常容易受到攻击,您应该学习如何使用预准备语句。

还要谷歌“SQL注入”来理解这个问题。