2010-11-06 64 views
0
$query = "INSERT INTO event (eventDesc) ". 
      "VALUES ('".$eventDesc."') WHERE event = 'Testing'"; 

这句话有什么问题吗?SQL插入错误

我收到提示说:

您的SQL语法错误;检查与您的MySQL服务器版本相对应的手册,以便在第2行'WHERE event ='Testing''附近使用正确的语法。

回答

3

你想使用UPDATE语句来更新现有的值:

$query = sprintf("UPDATE EVENT 
        SET eventDesc = '%s' 
        WHERE event = 'Testing'", 
        mysql_real_escape_string($eventDesc)); 

这是不是你的查询更安全 - 没有risk of SQL injection attack

+0

+1:SQL注入警告 – 2010-11-06 21:39:30

1

INSERT查询中没有WHERE子句。

+0

如果使用SELECT - IE提供值:'INSERT INTO EVENT SELECT col FROM OTHER_TABLE WHERE ...' – 2010-11-06 21:37:25

+1

这不是INSERT查询的WHERE子句,它是SELECT查询中的WHERE子句。 – 2010-11-06 21:38:12

+0

我认为你(和任何人提出你的评论)需要看看我的例子更接近一点。 – 2010-11-06 21:40:27