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

CI的DB类能判断数据库连接失败吗?

[复制链接]
发表于 2008-10-16 14:31:00 | 显示全部楼层 |阅读模式
未命名.PNG

如果数据库连接失败或者SELECT失败了,能判断出来吗?
只通过num_rows()或affected_rows()无法满足要求,大家有什么建议,在线等。

[ 本帖最后由 hnmazda 于 2008-10-16 14:39 编辑 ]
发表于 2008-10-16 14:41:54 | 显示全部楼层
数据库连接失败,是一个错误页面。
 楼主| 发表于 2008-10-16 14:49:15 | 显示全部楼层
我不想网站显示这个错误页面,这个错误页面是通过index.php中的error_reporting(E_ALL)控制的吗?
DB类能判断出数据库连接失败或者操作异常吗?因为数据库压力有时会随访问量的增加而瞬间增大
发表于 2008-10-16 14:56:55 | 显示全部楼层
必要的时候可以使用事务判断
 楼主| 发表于 2008-10-16 15:11:28 | 显示全部楼层
跟事务应该不是一回事吧?纯PHP函数mysql_connect()、mysql_query()
在失败异常情况下都能返回FALSE,而且还有mysql_error()查看失败信息,难道CI的DB操作类没有封装这具体的操作吗?
发表于 2008-10-16 15:33:17 | 显示全部楼层
ci是建立在基本的PHP语法之上的,也有返回值,利用数据集完全可以判断成功或者失败信息,我觉得没必要考虑数据库connection,最多用下事务和日志

        function create_database($db_name)
        {
                $sql = $this->_create_database($db_name);
               
                if (is_bool($sql))
                {
                        return $sql;
                }
       
                return $this->db->query($sql);
        }
 楼主| 发表于 2008-10-16 15:33:31 | 显示全部楼层
DB类有$this->error或者$this->is_ok这样的变量吗?
发表于 2008-10-16 15:34:43 | 显示全部楼层
 楼主| 发表于 2008-10-16 15:36:09 | 显示全部楼层
原帖由 sam 于 2008-10-16 15:33 发表
ci是建立在基本的PHP语法之上的,也有返回值,利用数据集完全可以判断成功或者失败信息,我觉得没必要考虑数据库connection,最多用下事务和日志

        function create_database($db_name)
        {
                $sql = $this->_create_database ...

您是说false === $query 就表示操作失败吗?
 楼主| 发表于 2008-10-16 15:49:18 | 显示全部楼层
不使用CI开发框架,我原先的model层程序是这么写的,数据操作我希望能够得到准确的操作结果,不仅要返回查询数据集,还要返回这个query()类方法执行成功还是失败了

[ 本帖最后由 hnmazda 于 2008-10-16 15:54 编辑 ]
未命名1.PNG

本版积分规则