我有一个通过PHP OCI连接到我的Oracle数据库的应用程序。
我收到来自数据库调用的错误,如bellow
$r = oci_execute($stid);
if (!$r) {
$e = oci_error($stid); // For oci_execute errors pass the statement handle
die($callback . '(' . json_encode(
array_merge(
array(
'STATUS' => 'FALSE'
),
array(
'ERROR_MESSAGE' => $e['message']
)
)
) .
' )
');
我的问题是,错误总是太长,因为它会向下钻取到错误的来源,如下所示
“ORA-01841 :(完整)年份必须介于-4713和+9999之间,而不是0 ORA-06512:在“APPOWN.CLIENTINTERFACE”,第133行ORA-06512:at “APPOWN.CLIENTORDER_API”,第3609行ORA-06512:at “APPOWN.CLIENTORDER_API”,第447行ORA-06512:at “APPOWN.CLIENTORDER_API”,第3184行ORA-06512:第26行“
我只需要如下面的顶级错误消息
(完整)年份必须介于-4713和+9999之间,而不是0
有没有办法(除了对响应字符串做一些文本工作)才能得到一条简单的错误信息?