错误号:1064您的SQL语法有错误;正确的语法在第1行'3 ='''附近使用

时间:2015-06-02 08:15:19

标签: php mysql codeigniter

我想在我的表格国家/地区设置(int)up=up+1。我想将open_id (PK)$id相匹配。

  

发生数据库错误

     

错误号码:1064   您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   在第1行附近'3 ='''   更新country设置=上+ 1,3 =''

文件名:models/Select.php

行号:73

我的模特:

 public function up_votes($id)
 {  
    $this->db->set('up', 'up+1', FALSE);
    $this->db->update('country', $id); 
    $this->db->where('open_id', $id);
 }

2 个答案:

答案 0 :(得分:2)

1)您已经已经添加了where条款。
2)此外,update位于where之前,这意味着您的查询在没有where子句的情况下执行,因此它正在更新所有记录。

public function up_votes($id)
{  
    $this->db->set('up', 'up+1', FALSE);
    $this->db->where('open_id', $id);
    $this->db->update('country');
                         //   ^^ removed `$id`
}

答案 1 :(得分:0)

只需更改

$this->db->set('up', 'up+1', FALSE);

 $this->db->set('up', '`up+1`', FALSE);

同时从更新查询中删除$id

$this->db->update('country');