我调用我的函数,然后检查里面是否有行,如果有,我只是想把 "访问量 "的值更新为1,我是这样尝试的。
if($row){
$data = array(
'num_visitas' => 'num_visitas + 1',
'fecha_ultima_visita' => $fecha_ultima_visita
);
$this->db->where('email', $email);
$this->db->set($this->loyaltyTable, $data);
return ($this->db->affected_rows() != 1) ? false : true;
虽然没有出现错误,但也没有更新值。我试着用 $this->db->update()
和 $this->db->set()
但似乎都没有用。我是不是遗漏了什么?
$this->db->where('email', $email);
$this->db->set('num_visitas', 'num_visitas+1', FALSE);
$this->db->set('fecha_ultima_visita', $fecha_ultima_visita);
$this->db->update($this->loyaltyTable);
你可以使用像下面这样的简单查询,codeigniter会添加引号,所以它不能与列+1一起使用,请尝试下面的查询。
$query = $this->db->query("UPDATE ".$this->loyaltyTable." SET num_visitas = num_visitas + 1 , fecha_ultima_visita= '$fecha_ultima_visita' WHERE email = '$email'");