【发布时间】:2010-09-23 08:55:31
【问题描述】:
如果我将 CI 应用程序配置为使用数据库进行会话处理,如果会话用户数据返回 false,我可以假设用户的会话已过期。
但是如果返回false的真正原因是数据库连接没有建立成功呢?
【问题讨论】:
-
如果您无法连接到数据库,那么您将无法使用他们的会话数据...
标签: codeigniter
如果我将 CI 应用程序配置为使用数据库进行会话处理,如果会话用户数据返回 false,我可以假设用户的会话已过期。
但是如果返回false的真正原因是数据库连接没有建立成功呢?
【问题讨论】:
标签: codeigniter
默认情况下,CodeIgniter 会在数据库加载后无法连接时出现致命错误,但如果你有:
$db['local']['db_debug'] = FALSE;
那么它不会告诉你。您通常可以关闭调试,但仍然可以通过执行以下操作对失败的加载做出反应:
if ( $this->load->database() === FALSE )
{
exit('THE END IS NIGH!');
}
【讨论】:
我测试了我发现的所有东西,没有任何东西,我发现的唯一方法是使用 dbutil 检查数据库是否存在。
$this->load->database();
$this->load->dbutil();
// check connection details
if( !$this->dbutil->database_exists('myDatabase'))
echo 'Not connected to a database, or database not exists';
【讨论】:
CI 抛出
A Database Error Occurred
Unable to connect to your database server using the provided settings.
或类似的连接失败
【讨论】: