使用mysql代码点火器:通过set添加值?

时间:2015-08-28 14:49:25

标签: php mysql codeigniter

我想通过set将int值添加到我的mysql数据中 这是我的想法,但它不起作用:

$query = $this->db->select('*')->from('usr_table')->where('user_id', $id)->get();
$var = 50;

foreach ($query->result() as $row) {
        $this->db->set('counted', ($row->counted) + $var );
        $this->db->where('user_id', $id);
        $this->db->update('usr_table');
}

类似的东西:

counted = counted + var
希望你能帮助我。
感谢

2 个答案:

答案 0 :(得分:1)

你为什么不这样做?

$this->db->set('counted', 'counted + 50', FALSE)->where('user_id', $id)->update('usr_table');

答案 1 :(得分:0)

使用group_by

$query = $this->db->select('COUNT(user_id) AS total')->from('usr_table')->where('user_id', $id)->group_by('user_id')->result_array();
$var = 50;

foreach ($query as $row) {
$this->db->set('counted', ($row["total"]) + $var );
$this->db->where('user_id', $row["user_id"]);
$this->db->update('usr_table');
}