如何在我的PHP应用程序中仅显示Oracle的顶级错误消息
我有一个通过PHP OCI连接到Oracle数据库的应用程序 我收到来自数据库调用的错误,如下面所示如何在我的PHP应用程序中仅显示Oracle的顶级错误消息,php,oracle,error-handling,oracle-call-interface,Php,Oracle,Error Handling,Oracle Call Interface,我有一个通过PHP OCI连接到Oracle数据库的应用程序 我收到来自数据库调用的错误,如下面所示 $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(
$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:at 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
除了对响应字符串进行一些文本处理之外,还有什么方法可以获得简单的错误消息吗?我认为您没有在块中处理异常。在PL/SQL过程中,您可以使用系统函数SQLERRM text message和SQLCODE-of-error。但我不知道如何在PHP中访问它们。