你应该总是用"或死"来结束mysql查询吗?

Bri*_*ien 6 php

一些教程中的示例查询始终以:

or die(mysql_error());  
Run Code Online (Sandbox Code Playgroud)

我可以看到为什么你有时会想要这样做,但他们甚至将它用于真正不应该导致问题的查询.总是使用它是一个好习惯,还是只是在你学习的时候帮助你进行调试?

Lir*_*una 13

没有.

不惜一切代价避免!

  1. 向最终用户展示这是一个可怕的信息
  2. mysql_error 可能会泄露您不想提供的信息
  3. 没有办法处理错误,即恢复.

想象一下交易数据库 - 您的客户汇款,因此您必须修改两个表(两个查询).

第一个将资金从X转移到Y并成功.第二个必须从X中减去Y 失败.

您无法还原事务,并且不会记录错误.有效地让用户Y快乐,X留下了钱,去了钱...

对查询使用合理的错误处理 - 创建一个可以为您处理或使用ORM的类.


Ign*_*ams 0

“不应该”这个词在这里是不好的。不应有问题的查询仍然可能受到外部因素的影响,例如与数据库的连接断开。