【问题标题】:In codeigniter How i can check update? [duplicate]在 codeigniter 我如何检查更新? [复制]
【发布时间】:2017-01-12 05:20:21
【问题描述】:
if($this->db->affected_rows()>0){
            return TRUE;
        }else{
            return FALSE;
        }

但在这种情况下,如果用户在 db 的 Info 中的信息之前没有更改,则不会更新。

所以总是返回 0;

我要检查更新的成功与否

我如何检查?

【问题讨论】:

  • 这样检查 if($this->db->affected_rows()!=-1 && $this->db->affected_rows()>=0){}
  • 使用 $this->db->last_query() 检查查询
  • 试试这个 $this->db->affected_rows() >= 0
  • 请检查一次查询是否 $this->db->affected_rows() 总是返回 0
  • 利用交易最好看下面的答案@Polaris Nation

标签: php mysql codeigniter


【解决方案1】:

像这样使用检查

if($this->db->affected_rows()>=0){} 

【讨论】:

    【解决方案2】:

    最好的办法是使用codeigniter的事务机制如下:

    $this->db->trans_begin();//begins your transaction
    $data =<data> //data for upadating
    $this->db->where('id', $id);//where condition
    $this->db->update('table_name',$data);//update query
    
     if ($this->db->trans_status() === FALSE)//checks transaction status
        {
            $this->db->trans_rollback();//if update fails rollback and  return false
           return FALSE;
    
        }
        else
        {
            $this->db->trans_commit();//if success commit transaction and returns true
            return TRUE;
        }
    

    【讨论】:

    猜你喜欢
    • 2012-04-12
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    相关资源
    最近更新 更多