Php 您是否应该始终以“结束mysql查询?”;还是死;
某些教程中的示例查询始终以以下内容结束:Php 您是否应该始终以“结束mysql查询?”;还是死;,php,Php,某些教程中的示例查询始终以以下内容结束: or die(mysql_error()); 我可以理解为什么您有时会想这样做,但他们甚至将此用于真正不应该引起问题的查询。始终使用此选项是一种好的做法,还是他们这样做只是为了帮助您在学习过程中进行调试?这里的“不应该”一词不好。不应该有问题的查询仍然会受到外部因素的影响,例如与数据库的连接中断 但他们甚至将其用于真正不应该引起问题的查询 如果web服务器和数据库服务器之间的网络发生故障,即使是最简单的SELECT*FROM FOO也会导致问题。这
or die(mysql_error());
我可以理解为什么您有时会想这样做,但他们甚至将此用于真正不应该引起问题的查询。始终使用此选项是一种好的做法,还是他们这样做只是为了帮助您在学习过程中进行调试?这里的“不应该”一词不好。不应该有问题的查询仍然会受到外部因素的影响,例如与数据库的连接中断
但他们甚至将其用于真正不应该引起问题的查询
如果web服务器和数据库服务器之间的网络发生故障,即使是最简单的SELECT*FROM FOO
也会导致问题。这是一个很好的实践,因为在处理外部系统(如数据库)时,您确实不能假设某些东西是“安全的”
在生产代码中,您可能不希望使用
die()
来处理错误-您可能可以运行一些自定义代码来处理它。无论如何,你肯定应该以这样或那样的方式处理错误,而die()
是一个好的开始方式。这取决于你所说的“不应该是问题”是什么意思
如果您的意思是“它不会失败”,那么如果数据库服务器脱机会发生什么
只有当你的意思是“不管它是否失败,脚本都能持续运行,没有问题”,你应该考虑没有<代码>或死亡< /代码>。
你不一定需要or die()
但是你应该有某种错误处理系统。如果还没有,我会将它添加到我的查询中,即使是简单的查询
编辑:澄清一下,我所说的“it”是指or die()语句 没有。
不惜一切代价避免这样做
mysql\u错误
可能会暴露您不希望获得的信息对查询使用合理的错误处理-或者创建一个类来为您处理该问题,或者使用ORM。我认为在页面顶部使用它不会有什么坏处,无论您在哪里查看数据库连接信息,在尝试仅连接到数据库时使用它
但为什么我们要在你执行的每一个查询中使用它呢!显然,如果它连接到数据库,那么如果你知道没有其他错误应该发生,那么我不明白为什么你不能避免每页使用它不止一次 完全同意-应该从手册和书籍中删除“or die()”的用法,并显示正确的错误处理(即使是赤裸裸的)。好的,请教育新手OP和这位新手评论员,让他们知道如何使用独立于框架的坚如磐石的PHP错误处理?@Andrew,使用框架是一个很好的开始——一旦你对框架感到满意,你就可以窥探它们的来源,看看它们是如何处理错误的。