CodeIgniter:如何知道$ this-> load-> database(); 连接?

loc*_*ock 2 codeigniter

如果我将CI应用程序配置为使用数据库进行会话处理,如果会话userdata返回false,我可以假设用户的会话已过期.

但是如果它返回false的实际原因是因为数据库连接没有成功建立呢?

Phi*_*eon 5

默认情况下,如果数据库已加载且无法连接,则CodeIgniter将发生致命错误,但如果您有:

$db['local']['db_debug'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

然后它不会告诉你.您可以通常关闭调试,但仍然可以通过执行以下操作来响应失败的负载:

if ( $this->load->database() === FALSE )
{
   exit('THE END IS NIGH!');
}
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说不太合适.我正在使用数据库组,可能逻辑略有不同,但是load-> database("group",TRUE); 似乎返回一个mysql对象,即使它无法连接.相反,我不得不关闭autoinit并检查db-> initialize()是否为false. (3认同)