我无法在代码点火器中运行更新查询


I cant run an update query in codeigniter

function updateVisitsStatus($today){
        /*
         * 
        $this->db->select('exp_datetime, status_id');
        $this->db->from('visits');
        $this->db->where('exp_datetime <', $today);
        $this->db->where('status_id', 0);
        echo "<pre>"; print_r($this->db->get()->result());exit;
         * 
         */
        $this->db->where('exp_datetime <', $today);
        $this->db->where('status_id', 0);
        $this->db->update('visits', 'status_id = -4 ');
    }

注释查询打印具有给定条件的两条记录。因此,查询应该使用字段中的新值更新两条记录status_id但实际上并非如此。

在这个过程中,我错过了什么?

您必须将值作为数组或对象传递给函数 update 。试试,

// define array of values
$data = array(
               'status_id' => -4
            );
$this->db->where('exp_datetime <', $today);
$this->db->where('status_id', 0);
$this->db->update('visits',$data);

试试这样

$data = array(
          'status_id' => -4
         );
$this->db->where(" exp_datetime < '".$today."'");
$this->db->where('status_id', 0);
$this->db->update('visits',$data);