隐藏 Codeigniter 错误并回显自定义错误
Hide Codeigniter error and echo a customized error
当我尝试连接到数据库时,出现此错误:
A PHP Error was encountered
Severity: Warning
Message: mysqli::real_connect(): (HY000/1044): Access denied for user
''@'localhost' to database 'dm_receiver'
Filename: mysqli/mysqli_driver.php
Line Number: 133
Backtrace:
File:
C:\xampp\htdocs\DataMigrator\ci_my_app\models\Connection_model.php
Line: 111 Function: database
File:
C:\xampp\htdocs\DataMigrator\ci_my_app\models\ReadDatabase_model.php
Line: 7 Function: establish
File: C:\xampp\htdocs\DataMigrator\ci_my_app\controllers\Home.php
Line: 7 Function: model
File: C:\xampp\htdocs\DataMigrator\index.php Line: 292 Function:
require_once
A Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename:
C:/xampp/htdocs/DataMigrator/ci_my_app/models/ReadDatabase_model.php
Line Number: 7
我故意指定了错误的用户名,以测试当我无法获得数据库连接时会发生什么。嗯,这就是我得到的。如果发生这种情况,我想隐藏此错误并回显我自己的消息。我该怎么做?
编辑:让我换一种方式问我的问题。当我使用 $this->db->get('mytable');我可能会得到同样的错误。这可能是因为主机名、数据库名称、用户名或密码错误。那么我怎样才能找出其中哪一个不正确并回显,例如注意,你的数据库名称是错误的?
您可以通过编辑 index.php
文件来关闭生产中的错误消息:
define('ENVIRONMENT', 'production');
然后使用您的代码检查从您的数据库中输出的内容的条件,或编辑 application/errors/error_db.php
以定义自定义错误页面。
当我尝试连接到数据库时,出现此错误:
A PHP Error was encountered
Severity: Warning
Message: mysqli::real_connect(): (HY000/1044): Access denied for user ''@'localhost' to database 'dm_receiver'
Filename: mysqli/mysqli_driver.php
Line Number: 133
Backtrace:
File: C:\xampp\htdocs\DataMigrator\ci_my_app\models\Connection_model.php Line: 111 Function: database
File: C:\xampp\htdocs\DataMigrator\ci_my_app\models\ReadDatabase_model.php Line: 7 Function: establish
File: C:\xampp\htdocs\DataMigrator\ci_my_app\controllers\Home.php Line: 7 Function: model
File: C:\xampp\htdocs\DataMigrator\index.php Line: 292 Function: require_once
A Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename: C:/xampp/htdocs/DataMigrator/ci_my_app/models/ReadDatabase_model.php
Line Number: 7
我故意指定了错误的用户名,以测试当我无法获得数据库连接时会发生什么。嗯,这就是我得到的。如果发生这种情况,我想隐藏此错误并回显我自己的消息。我该怎么做?
编辑:让我换一种方式问我的问题。当我使用 $this->db->get('mytable');我可能会得到同样的错误。这可能是因为主机名、数据库名称、用户名或密码错误。那么我怎样才能找出其中哪一个不正确并回显,例如注意,你的数据库名称是错误的?
您可以通过编辑 index.php
文件来关闭生产中的错误消息:
define('ENVIRONMENT', 'production');
然后使用您的代码检查从您的数据库中输出的内容的条件,或编辑 application/errors/error_db.php
以定义自定义错误页面。