Increment field of mysql database using codeigniter's active record syntax Increment field of mysql database using codeigniter's active record syntax codeigniter codeigniter

Increment field of mysql database using codeigniter's active record syntax


You can do as given below:

$this->db->where('id', $post['identifier']);$this->db->set('votes', 'votes+1', FALSE);$this->db->update('users');

The reason this works is because the third (optional) FALSE parameter tells CodeIgniter not to protect the generated query with backticks ('). This means that the generated SQL will be:

UPDATE users SET votes= votes + 1 WHERE id= '44'

If you notice, the backticks are removed from '(votes+1)', which produces the desired effect of incrementing the votes attribute by 1.


$data = array('votes' => 'votes + 1');foreach ($data as $key=>$val) {    $this->db->set($key, $val, FALSE);}$this->db->where('id', $post['identifier']);$this->db->update('users', $data);


You can do as given below:

    public function increament_product_count(){        $product_id=$this->input->post('product_id');        $this->db->where('id', $product_id);        $this->db->set('click_count', 'click_count+1', FALSE);        $this->db->update('tbl_product');    }