每个PHP查询都应该有异常,或者只是一般错误,或者两者都没有

时间:2015-03-01 22:54:16

标签: php

我正在使用数据库,以更新,删除或插入。目前我只对某些人做了一些错误。我应该在我运行的每个数据库查询上使用异常,还是只是一般错误?

让我直观地告诉你。

异常

$query = $database->prepare("INSERT INTO test(test) VALUES(1)");
$result = $query->execute();
try{
   if(!result): throw new exception(""); else: //success  endif;
}

$query = $database->prepare("INSERT INTO test(test) VALUES(1)");
$result = $query->execute();
if(!$result): return 0; else:  //success  endif;

然后(对于我的情况是MVC,检查该函数是否== 0然后重定向到错误页面

或没有错误通知:

$query = $database->prepare("INSERT INTO test(test) VALUES(1)");
$result = $query->execute();

建议使用哪一个,或者不建议使用?

2 个答案:

答案 0 :(得分:0)

每当出现问题,这会影响您认为重要的事情时,您应该对错误采取行动。

这并不总是意味着产生错误页面。只有当错误对您网站的访问者产生影响时,您才会这样做。例如,提交注册时,但无法输入数据库:

  

“抱歉,我们有技术问题,您的注册可以,在   那一刻,不被接受。已发送包含您的详细信息的电子邮件   给我们我们会尽快与您联系。“。

还有其他错误不需要这样的反馈,但您想了解这些错误。例如,当您计算访问页面的频率时。记录日志,发送电子邮件或类似内容,但不要使用错误消息打扰访问者。

答案 1 :(得分:0)

第二种情况:if(!$result): return false; 重要的是要知道更新数据库,而不是中断代码。 错误在开发阶段很有用。 这是其他事情会发生的情况。