Php 我应该从项目中删除mysql\u错误函数吗?

Php 我应该从项目中删除mysql\u错误函数吗?,php,mysql,security,Php,Mysql,Security,使用时是否不安全 mysql_error(); 编程完成后在站点中的功能 我在我的项目中都使用了这段代码 mysql_query($q) or die(mysql_error()); 用户可以看到数据库错误 我应该从我的项目中删除mysql\u错误函数吗 或者有一种方法可以隐藏正在发生的错误?或死亡(…)确实是一种丑陋的快速“错误处理”方法mysql\u错误不是真正的问题,死亡是。在不重写整个错误处理基础架构的情况下,最接近的替代方案通常是例外情况: throw new Exception

使用时是否不安全

mysql_error(); 
编程完成后在站点中的功能

我在我的项目中都使用了这段代码

mysql_query($q) or die(mysql_error());
用户可以看到数据库错误

我应该从我的项目中删除mysql\u错误函数吗

或者有一种方法可以隐藏正在发生的错误

或死亡(…)
确实是一种丑陋的快速“错误处理”方法<代码>mysql\u错误不是真正的问题,
死亡
是。在不重写整个错误处理基础架构的情况下,最接近的替代方案通常是例外情况:

throw new Exception(mysql_error());
在处理这些问题时,你有很大的灵活性。在生产环境中,您应该将全局异常处理程序设置为记录所有未捕获的异常,但不将其消息输出到屏幕

或die(…)
确实是一种丑陋的快速“错误处理”方法<代码>mysql\u错误不是真正的问题,
死亡
是。在不重写整个错误处理基础架构的情况下,最接近的替代方案通常是例外情况:

throw new Exception(mysql_error());

在处理这些问题时,你有很大的灵活性。在生产环境中,您应该将全局异常处理程序设置为记录所有未捕获的异常,但不将其消息输出到屏幕

如果可能,您甚至不应该使用
mysql.*
函数。使用PDO或mysqli(在面向对象模式下),很容易编写一个能够完全按照您的意愿处理错误的包装器,比如向您发送一封包含完整堆栈跟踪的电子邮件,而不是将错误显示回用户(这在安全方面是一个坏主意)。如果可能,您甚至不应该使用
mysql.*
函数。使用PDO或mysqli(在面向对象模式下),很容易编写一个能够完全按照您的意愿处理错误的包装器,比如向您发送一封包含完整堆栈跟踪的电子邮件,而不是将错误显示回用户(这在安全方面是个坏主意)。