隐藏Codeigniter错误并回显自定义错误


Hide Codeigniter error and echo a customized error

当我尝试连接到数据库时,我会得到以下错误:

遇到PHP错误

严重性:警告

消息:mysqli::real_connect():(HY000/1044):拒绝用户访问"@"本地主机"到数据库"dm_receiver"

文件名:mysqli/mysqli_driver.php

线路编号:133

回溯:

文件:C: ''examplep''htdocs''DataMigrator''ci_my_app''models''Connection_model.php线路:111功能:数据库

文件:C: ''examplep''htdocs''DataMigrator''ci_my_app''models''ReadDatabase_model.php行:7功能:建立

文件:C:''examplep''htdocs''DataMigrator''ci_my_app/controllers''Home.php行:7功能:型号

文件:C:''examplep''htdocs''DataMigrator''index.php行:292函数:需要一次

发生数据库错误

无法使用提供的设置连接到数据库服务器。

文件名:C:/examplep/htdocs/DataMigrator/ci_my_app/models/ReadDatabase_model.php

行号:7

我故意指定了错误的用户名,以测试当我无法获得数据库连接时会发生什么。好吧,这就是我得到的。如果发生这种情况,我想隐藏这个错误并回复我自己的消息。我该怎么做?

编辑:让我换一种方式提问。当我使用$this->db->get('mytable')时;我可能会犯同样的错误。这可能是因为主机名、数据库名、用户名或密码错误。那么,我如何才能找出其中哪一个不正确,并像"小心,你的数据库名称是错误的"这样回应呢?

您可以通过编辑index.php文件来关闭生产中的错误消息:

define('ENVIRONMENT', 'production');

然后使用您的代码来检查数据库中的条件,或者编辑application/errors/error_db.php来定义自定义错误页面。