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

标签 php codeigniter mysqli error-handling

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

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定义自定义错误页面。

关于php - 隐藏Codeigniter错误并回显自定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28532208/

相关文章:

php - 外键为空时如何从连接中拉出行

iphone - IOS - 如何检查 SBJson 创建的 JSON NSData?

php - MYSQL中将DELETE语句重写为SELECT语句

php - 更改密码 PHP 问题

php - 在 PHP/MySql 中使用 group_concat 获取

php - 用 PHP 编写一个简单的 preg_replace

php - CodeIgniter:cookie、 session 、重定向太多?

php - mysql_num_rows错误

javascript - 删除函数后返回首页 PHP MYSQL JAVASCRIPT

php - 为什么在 PHP 中使用 Generator::throw 会忽略 throw 后的生成值