这是我的代码:
try
{
oci_execute($command);
}
catch(Exception $e){
$this->sendMailFunction($e);
}
其中 $command
是 Oracle SQL 查询。我的问题是,如果查询失败,控件不会进入 catch block 。为什么会这样呢?
我使用的是php的yii框架。
最佳答案
oci_execute
不会抛出异常。如果失败,将返回 bool 值false
并生成Warning
。要获取错误详细信息,您需要调用 oci_error()
函数而不是 try/catch
:
if (false === oci_execute($command)) {
$this->sendMailFunction(oci_error($command));
};
如果您不希望错误日志中出现警告
,您可以在前面添加@
符号来抑制它。
关于php 在 try catch block 中调用 oci_execute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47079941/