我遇到了一个问题,我的 ci_sessions 表已损坏,并且错误 + 原始 SQL 显示在网站上。
如果我将 db_debug 设置为 false,那么我会得到一个带有 200 响应头的空白屏幕。如何覆盖它以显示友好页面?
我遇到了一个问题,我的 ci_sessions 表已损坏,并且错误 + 原始 SQL 显示在网站上。
如果我将 db_debug 设置为 false,那么我会得到一个带有 200 响应头的空白屏幕。如何覆盖它以显示友好页面?
首先,我建议您转向db_debug
,false
因为(如您所说)它显示原始 SQL 数据并且在安全性方面并不是很整洁。
也就是说,您可以使用 . 查看 SQL 的任何错误消息$this->db->_error_message()
。
使用它作为 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 版本中更改。所以在那儿要小心。