php - 我无法在 codeigniter 中运行更新查询

标签 php mysql 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);

关于php - 我无法在 codeigniter 中运行更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26230075/

相关文章:

mysql - 从加入中选择时出错

php - 如何让 PHP CodeSniffer Fixer 忽略命名空间声明?

mysql - 如何为2个表创建外键?

php - 无效数据源 PHP PDO Mysql

php - 检索搜索结果 | PHP 和 SQL

php - codeigniter 数组和循环插入多个数据

php - 动态更改 TinyMCE 配置

PHP 和 session : Is there any way to disable PHP session locking?

PHP while (list($key, ) =each($array)) 与 while (list($key) =each($array))

php - 如何使用旧数据填充新的和修改后的 MySQL 数据库