我想在我的表格国家/地区设置(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);
}
答案 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');