hnmazda 发表于 2008-10-16 14:31:00

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



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

[ 本帖最后由 hnmazda 于 2008-10-16 14:39 编辑 ]

Hex 发表于 2008-10-16 14:41:54

数据库连接失败,是一个错误页面。

hnmazda 发表于 2008-10-16 14:49:15

我不想网站显示这个错误页面,这个错误页面是通过index.php中的error_reporting(E_ALL)控制的吗?
DB类能判断出数据库连接失败或者操作异常吗?因为数据库压力有时会随访问量的增加而瞬间增大

sam 发表于 2008-10-16 14:56:55

必要的时候可以使用事务判断

hnmazda 发表于 2008-10-16 15:11:28

跟事务应该不是一回事吧?纯PHP函数mysql_connect()、mysql_query()
在失败异常情况下都能返回FALSE,而且还有mysql_error()查看失败信息,难道CI的DB操作类没有封装这具体的操作吗?

sam 发表于 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);
        }

hnmazda 发表于 2008-10-16 15:33:31

DB类有$this->error或者$this->is_ok这样的变量吗?

sam 发表于 2008-10-16 15:34:43

看这里
http://codeigniter.org.cn/user_guide/general/errors.html

hnmazda 发表于 2008-10-16 15:36:09

原帖由 sam 于 2008-10-16 15:33 发表 http://codeigniter.org.cn/forums/images/common/back.gif
ci是建立在基本的PHP语法之上的,也有返回值,利用数据集完全可以判断成功或者失败信息,我觉得没必要考虑数据库connection,最多用下事务和日志

        function create_database($db_name)
        {
                $sql = $this->_create_database ...
您是说false === $query 就表示操作失败吗?

hnmazda 发表于 2008-10-16 15:49:18

不使用CI开发框架,我原先的model层程序是这么写的,数据操作我希望能够得到准确的操作结果,不仅要返回查询数据集,还要返回这个query()类方法执行成功还是失败了

[ 本帖最后由 hnmazda 于 2008-10-16 15:54 编辑 ]
页: [1] 2
查看完整版本: CI的DB类能判断数据库连接失败吗?