如何在我的PHP应用程序中仅显示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(

我有一个通过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(

          '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中访问它们。