小编she*_*ado的帖子

即使在更新后 CI 受影响的行也总是返回 0

我使用 Codeigniter 3.0.6 来构建一个系统。通常,我使用fluence_rows() 来检查我的数据库是否更新。

    function update($id=0,$data=array())
    {
        $this->db->where($this->key, $id);
        $this->db->update($this->table,$data);
        if($this->db->affected_rows() > 0)return TRUE;
        else return FALSE;
    }
Run Code Online (Sandbox Code Playgroud)

问题是如果没有找到更新,它也会返回 0。因为我想在我的代码中区分更新和无更新,所以我使用这个解决方案。

    function update($id=0,$data=array())
    {
        $this->db->trans_start();
        $this->db->where($this->key, $id);
        $this->db->update($this->table,$data);
        $this->db->trans_complete();
        if ($this->db->affected_rows() > 0) {
            return TRUE;
        } else {
            if ($this->db->trans_status() == FALSE) {
                return FALSE;
            }
            return 'No Update';
        }
    }
Run Code Online (Sandbox Code Playgroud)

但即使在更新后的affected_rows 总是返回int(0)。什么原因?谢谢你。

php model codeigniter

5
推荐指数
1
解决办法
1019
查看次数

标签 统计

codeigniter ×1

model ×1

php ×1