连接到数据库而不写入警告/错误消息
Posted
技术标签:
【中文标题】连接到数据库而不写入警告/错误消息【英文标题】:Connect to database without writing warning/error messages 【发布时间】:2017-06-16 15:47:39 【问题描述】:我正在使用简单的方法连接到我的数据库:
$conn = mysqli_connect($servername, $username, $password, $dbname) or die("Unable to connect to MySQL");
$conn->query("SET NAMES utf8") or die("Unable to connect to MySQL");
它工作正常,但是当我直接输入错误$servername
(或其他)时,我收到警告消息:-
警告:mysqli_connect(): (28000/1045): 拒绝用户访问 'root'@'192.168.0.157'(使用密码:YES) C:\MAMP\htdocs\modul-1-froland\zaro_\admin\db_config.php 在第 7 行
然后死亡消息:
Unable to connect to MySQL
没有@和error_reporting(E_ALL),有什么方法可以隐藏WARNING消息吗?我想要“用户友好”的错误消息(例如:无法连接到 MySQL)而不是所有错误消息(例如 mysqli_connect()...)。
【问题讨论】:
不明白为什么不使用“error_reporting”? 隐藏警告:-error_reporting(E_ERROR | E_PARSE);
因为我认为,还有另一种隐藏警告消息的方法,但似乎没有:(
Remove warning messages in PHP的可能重复
【参考方案1】:
隐藏警告信息:-
error_reporting(E_ERROR | E_PARSE);
这里清楚地描述了不同的其他设置:- https://***.com/a/2867082/4248328
注意:- 我个人喜欢调试并发现所有错误并尝试纠正它们而不是隐藏它们(即使它们是警告或通知)。谢谢
【讨论】:
是的,我也是,这就是为什么我不想使用 error_report() 并隐藏它们,但是谢谢!【参考方案2】:从语句中删除or die
,这将停止您看到的错误消息。
如果您想要更友好的错误,请查看覆盖默认的 php 错误/异常。
用户自定义错误处理set_error_handler和异常处理set_exception_handler
【讨论】:
以上是关于连接到数据库而不写入警告/错误消息的主要内容,如果未能解决你的问题,请参考以下文章
[尝试使用mysqli连接到数据库时出现Codeigniter错误