使用Code Igniter自定义处理DB错误

时间:2013-03-05 23:12:28

标签: codeigniter

我遇到了一个问题,我的ci_sessions表已损坏,并且网站上显示错误+原始SQL。

如果我将db_debug设置为false,那么我会得到一个带有200响应头的空白屏幕。如何覆盖它以显示友好页面?

1 个答案:

答案 0 :(得分:0)

首先,我建议您将db_debug转为false,因为(正如您所说)它显示原始SQL数据,并且在安全性方面并不是很整洁。

也就是说,您可以使用$this->db->_error_message()查看SQL的任何错误消息。

使用它作为IF条件来显示其他页面,做其他任何事情。

$this->db->get("any table"); // this is where your original db statement goes
if ($this->db->_error_message()) {
    return false;  // you can do this, or show another view, or anything
} 

注意:$this->db->_error_message()不是官方支持的功能,在将来的CI版本中可能会更改。所以在那里要小心。