【发布时间】:2013-10-10 11:11:10
【问题描述】:
我正在使用 PHP5 和 PDO 进行 mysql 查询。
我正在尝试使用 try/catch 处理来自查询的异常。但是,例如,如果我有这样的语法错误:
try{
$sql = 'IggggNSERT INTO t_table (ID, MONTH) VALUES (:ID, :MONTH)';
$r = $conn->prepare($sql);
$r->bindValue(':ID', $id);
$r->bindValue(':MONTH', $month);
$r->execute();
return $r;
}
catch (Exception $e) {
die('Error');
}
我收到这个致命错误:
PHP Fatal error: Call to a member function bindValue() on a non-object
但是没有引发异常,我的 catch 块也没有执行。
我该如何处理这个问题,以便回滚以前的查询?
【问题讨论】:
-
很抱歉投了反对票,但
die('Error');无论如何都不是异常处理 -
@Your Common Sense : this die('Error') 只是为了说明,所以我没有把我真正的 try/catch 块的 60 行放在这里...
-
哎呀! (试图从地板上收起我的下巴)你在 catch 块中有 60 行代码?!
-
:)。仅仅是因为我有很多列要插入,如果出现任何问题,我还有一些事情要做。无论如何,如果你不明白我不会把我的整个项目放在这里只是为了问一个问题,那就投反对票吧。毕竟我得到了答案。如果你告诉我这可能会让其他读者感到困惑,我会理解,但显然用 die('Error') 处理异常并不是这个问题的目的。
标签: php mysql exception-handling pdo