尝试使用 codeigniter 更新数据库中的一行只是做 +1 但似乎没有工作
Trying to update a row in the db with codeigniter just doing +1 but doesn't seem to be working
我调用我的函数,然后检查那里是否有行,如果有,我只想将 "visits" 的值更新为 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()
,但 none 似乎有效。我错过了什么吗?
$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'");
我调用我的函数,然后检查那里是否有行,如果有,我只想将 "visits" 的值更新为 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()
,但 none 似乎有效。我错过了什么吗?
$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'");