尝试使用 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'");