用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3892|回复: 6
收起左侧

关于批量更新的问题$this->db->update_batch

[复制链接]
发表于 2014-6-11 23:45:02 | 显示全部楼层 |阅读模式
问题描述:
在进行数据批量更新的时候,按照手册中的例子进行更新数据的时候,var_dump($this->db->update_batch($table, $data, $title));打印出来的结果是个null,但是数据库中的数据已经更新成功了,用$this->db->affect_rows()返回的结果是0,有谁遇到过这种问题么??
 楼主| 发表于 2014-6-15 23:12:26 | 显示全部楼层
都没有人遇到过这个问题么??还是大家都没用过CI自带的这个批量更新方法??求指点啊!!!
发表于 2014-6-16 13:46:40 | 显示全部楼层
这个就是这样的啊,你的预期是什么?
 楼主| 发表于 2014-6-16 15:35:04 | 显示全部楼层
Hex 发表于 2014-6-16 13:46
这个就是这样的啊,你的预期是什么?

我的预期就是 我拿什么来判断我批量更新数据是否成功,if当中的条件是什么啊??难道是这样if ($this->db->update_batch == null) {echo '更新成功'} ???
发表于 2014-6-16 19:17:24 | 显示全部楼层
lengxuecan 发表于 2014-6-16 15:35
我的预期就是 我拿什么来判断我批量更新数据是否成功,if当中的条件是什么啊??难道是这样if ($this->db ...

查看了下源码,这个函数在正常情况下不返回任何值,在某些错误情况下返回 FALSE。
对于为什么 affected_rows() 没有效果,从源码上看不出什么,我觉得应该是有效的。

目前看,除了 affected_rows 外没有其他方法可以可靠判断是否执行成功。

 楼主| 发表于 2014-6-16 22:44:02 | 显示全部楼层
Hex 发表于 2014-6-16 19:17
查看了下源码,这个函数在正常情况下不返回任何值,在某些错误情况下返回 FALSE。
对于为什么 affected_r ...

恩!谢谢老大指点!占时我先放在了try catch中进行了处理....

本版积分规则