我希望这个问题可以问,基本上我正在尝试更新一些客户详细信息,但是当我点击继续时,我收到一条错误消息,说我的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() . "'");
感谢您的帮助!
答案 0 :(得分:1)
WHERE子句之前的逗号指示MySql需要更多字段进行更新。如果删除逗号,它应该可以工作,具体取决于数据库的布局。
此外,它应该没关系,但我很确定你不需要将ID转换为int。
答案 1 :(得分:1)
正如andomar在评论中所说,你必须在WHERE ...
之前删除逗号