我有一个在opencart上运行的网站,它使用命令Mysqli connect连接到数据库,现在我遇到的问题是如果由于某些错误它无法连接或者让我说我更改了我的数据库用户的密码我的输出显示致命错误,其中包括用于连接的密码。
我收到错误
警告:mysqli :: mysqli():( 28000/1045):拒绝用户访问 'saledart_admin'@'localhost'(使用密码:YES)in 第6行/home2/saledart/public_html/system/database/mysqli.php
致命错误:未捕获的异常'ErrorException',消息'错误: 无法建立数据库链接(1045)拒绝用户访问 'saledart_admin'@'localhost'(使用密码:YES)'in /home2/saledart/public_html/system/database/mysqli.php:9堆栈跟踪:> #0 /home2/saledart/public_html/vqmod/vqcache/vq2-system_library_db.php(13): DBMySQLi-> __ construct('localhost','saledart_admin',' SqlPassword ', 'saledart_db')#1 /home2/saledart/public_html/index.php(44): DB-> __ construct('mysqli','localhost','saledart_admin', ' SqlPassword ','saledart_db')#2 {main}引入 第9行/home2/saledart/public_html/system/database/mysqli.php
正如你可以看到这样的错误显示我的sql密码,我想知道是否有一种方法,由于这样的任何错误,我的密码没有被shwn。
我希望我能说清楚。
此致
PS:我可以解决此错误,因为我已经更改了数据库用户密码,但我的观点是即使是旧密码也不应该这么容易显示。
答案 0 :(得分:4)
使用 php try catch
,其异常处理用于在发生指定错误时更改代码执行的正常流程。
try {
$con = mysqli_connect("localhost","my_user","my_password","my_db");
if(!$conn) {
throw new Exception('Failed');
}
} catch(Exception $e) {
echo 'Server error. Please try again some time.';
die;
}