脚本宝典收集整理的这篇文章主要介绍了php – CI affected_rows总是在更新后返回0,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
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; }
问题是如果没有找到更新,它也将返回0.由于我想在我的代码中区分更新和无更新,所以我使用此解决方案.
function update($id=0,$data=array()) { $this->db->trans_start(); $this->db->where($this->key,$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'; } }
但即使更新后的affected_rows总是返回int(0).
什么原因?谢谢.
你可以在没有交易的情况下进行测试.像这样的东西?
function update($id) { $this->db->set('field_name',"new_value"); $this->db->where('id',$id); $this->db->update('table_name'); $rows = $this->db->affected_rows(); return $rows; }
验证数据库中是否实际更新了记录.您可以检查$rows以获取更新状态.
if ($rows < 1) { // no update } else { // updated }
以上是脚本宝典为你收集整理的php – CI affected_rows总是在更新后返回0全部内容,希望文章能够帮你解决php – CI affected_rows总是在更新后返回0所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。