У меня есть приложение, которое подключается к моей базе данных Oracle через PHP OCI.
Я получаю сообщение об ошибке из базы данных, как показано ниже
$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: на
«APPOWN.CLIENTORDER_API», строка 3609 ORA-06512: в
«APPOWN.CLIENTORDER_API», строка 447 ORA-06512: в
«APPOWN.CLIENTORDER_API», строка 3184 ORA-06512: в строке 26 «
Мне нужно только сообщение об ошибке верхнего уровня, как показано ниже
(полный) год должен быть между -4713 и +9999, а не 0
Есть ли способ (кроме выполнения некоторой текстовой работы над строкой ответа) получить простое сообщение об ошибке?
Задача ещё не решена.
Других решений пока нет …