我的SQL问题

时间:2014-03-11 10:51:13

标签: mysql sql

我希望这个问题可以问,基本上我正在尝试更新一些客户详细信息,但是当我点击继续时,我收到一条错误消息,说我的SQL有错误,但我看不到SQL的问题如果任何人都知道,并且可以让我知道非常感谢,因为我看不到我的问题(我将添加新的SQL,所以它可能是一个简单的抱歉!)

如果它有所不同我的数据库在phpmyadmin上

这是错误消息:

  

错误:您的SQL语法出错;检查与您的MySQL服务器版本对应的手册,以便在第1行的'WHERE customer_id ='579''附近使用正确的语法。   错误号:1064
  UPDATE customer SET firstname ='blank',lastname ='blank',email ='blank',telephone ='blank',fax ='',WHERE customer_id ='579'

(我已将信息更改为空白,因为它是真实信息)

这是我的代码

        $this->db->query("UPDATE " . DB_PREFIX . "customer SET firstname = 
        '" . $this->db->escape($data['firstname']) . "', lastname = '" . 
        $this->db->escape($data['lastname']) . "', email = '" . $this->db-
        >escape($data['email']) . "', telephone = '" . $this->db-
        >escape($data['telephone']) . "', fax = '" . $this->db-
        >escape($data['fax']) . "', WHERE customer_id = '" . (int)$this-
        >customer->getId() . "'");

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

WHERE子句之前的逗号指示MySql需要更多字段进行更新。如果删除逗号,它应该可以工作,具体取决于数据库的布局。

此外,它应该没关系,但我很确定你不需要将ID转换为int。

答案 1 :(得分:1)

正如andomar在评论中所说,你必须在WHERE ...

之前删除逗号