我一直在使用一个使用PDO连接到MySQL数据库的PHP应用程序。每当连接出现故障时,我们都会收到如下错误:
这通常在更新服务器详细信息或向群集添加新服务器时发生,并且有时对最终用户可见。我特别担心的是,由此产生的错误暴露了用于数据库的连接细节。是否可以更改错误报告,以便我们显示错误,而不包括连接详细信息?
答案 0 :(得分:1)
这是什么,你在找什么?
try {
$rs = $db->prepare('query_here');
$rs->execute();
$foo = $rs->fetchAll();
} catch (PDOException $e) {
die("Oh noes! There's an error in the query!");
}
在制作中,如果你不能访问“php.ini”文件,而不是设置error_reporting(0)
,如果你可以编辑“php.ini”文件而不是设置display_errors = off
。
答案 1 :(得分:1)
最好不要在开发过程中显示任何php错误。您可以改为记录它们。
您可以使用theese命令或手动将其写入php.ini文件。
ini_set('display_errors', '0');
ini_set('log_errors', 1);
ini_set('error_log', 'your custom log file (optional)');
每次查询数据库时都应该使用 try catch 块
try {
//query the database here
} catch (PDOException $e) {
trigger_error('your error here');
}
答案 2 :(得分:0)
您可以尝试/捕获异常并更改消息,但您不应该在生产中显示错误!你可以在你的php.ini文件中设置display_errors = off,或者添加:
error_reporting(0);
ini_set('display_errors', 0);