-1
try{
    //PDO CONNECT DB, $db

}catch(PDOException $e){die("ERROR"));}

我有一个查询用户 PDO 连接到数据库。

我使用 try & catch,我的问题是我的查询是否错误

我需要先关闭连接die();吗?

}catch(PDOException $e){$db="NULL"; die("ERROR"));}
4

2 回答 2

6

事实上,你根本不die()应该

在你学会如何正确使用 try 和 catch 之前,你不应该使用这个语句。它不适用于回显“错误”。它有完全不同的目的。

如果您想在查询错误的情况下回显愚蠢的“错误”,则必须正确执行。
即,

  • 发送适当的 HTTP 标头
  • 记录错误以通知开发人员问题
  • 向客户端显示任何错误消息
  • 将所有这些东西放在一个地方完成,而不是为每个查询重复

为此,您必须设置一个异常处理程序:

set_exception_handler('myExceptionHandler');
function myExceptionHandler($e)
{
    header('HTTP/1.1 500 Internal Server Error', TRUE, 500);
    error_log($e->getMessage().". Trace: ".$e->getTraceAsString());
    echo "ERROR";
    exit;
}

将此代码放在您的引导程序/配置文件中,并退出将每个查询包装到 try-catch 中。

于 2013-09-04T05:53:38.417 回答
1

不,在 php 中没有必要。当您的 php 进程完成后,连接也将关闭。

于 2013-09-04T02:01:39.087 回答