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

时间:2015-02-15 22:52:30

标签: php codeigniter mysqli error-handling

当我尝试连接数据库时,出现此错误:

  

遇到PHP错误

     

严重性:警告

     

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

     

文件名:mysqli / mysqli_driver.php

     

行号:133

     

回溯:

     

文件:   C:\ XAMPP \ htdocs中\ DataMigrator的\ ci_my_app \型号\ Connection_model.php   行:111功能:数据库

     

文件:   C:\ XAMPP \ htdocs中\ DataMigrator的\ ci_my_app \型号\ ReadDatabase_model.php   行:7功能:建立

     

文件:C:\ xampp \ htdocs \ DataMigrator \ ci_my_app \ controllers \ Home.php   行:7功能:型号

     

文件:C:\ xampp \ htdocs \ DataMigrator \ index.php行:292功能:   require_once

     

发生数据库错误

     

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

     

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

     

行号:7

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

编辑:让我以另一种方式提出问题。当我使用$ this-> db-> get(' mytable');我可能会得到同样的错误。这可能是因为主机名,数据库名,用户名或密码错误。那么我怎么能找出它们中的哪一个不正确并且回声如同注意,你的数据库名称是错误的?

1 个答案:

答案 0 :(得分:1)

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

define('ENVIRONMENT', 'production');

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