oci_error

(PHP 5)

oci_error -- Возвращает последнюю ошибку

Описание

array oci_error ( [resource source] )

Для большинства ошибок параметром source является соответствующий идентификатор соединения или выражения. Для ошибок во время выполнения функций oci_connect(), oci_new_connect() и oci_pconnect() этот параметр указывать не следует. oci_error() возвращает последнюю ошибку, которая была обнаружена в указанном ресурсе. В случае, если ошибок не было найдено, oci_error() возвращает FALSE.

oci_error() возвращает ошибку в виде ассоциативного массива из четырех элементов. Элемент code содержит код ошибки Oracle; элемент message - строку с текстом ошибки; sqltext - строка, содержащая выражение SQL, которое вызвало ошибку, а элемент offset - указатель на место в выражении, которое вызвало ошибку.

Замечание: Элементы массива offset и sqltext были добавлены начиная с версии PHP 4.3.

Пример 1. Вывод сообщения при ошибке соединения

$conn = @oci_connect("scott", "tiger", "mydb");
if (!$conn) {
  $e = oci_error();   // For oci_connect errors pass no handle
  echo htmlentities($e['message']);
}

Пример 2. Вывод сообщения при ошибке парсинга выражения

$stmt = @oci_parse($conn, "select ' from dual");  // note mismatched quote
if (!$stmt) {
  $e = oci_parse($conn);  // For oci_parse errors pass the connection handle
  echo htmlentities($e['message']);
}

Пример 3. Вывод сообщения об ошибке и SQL-выражения, в котором она возникла

$r = oci_execute($stmt);
if (!$r) {
  $e = oci_error($stmt); // For oci_execute errors pass the statementhandle
  echo htmlentities($e['message']);
  echo "<pre>";
  echo htmlentities($e['sqltext']);
  printf("\n%".($e['offset']+1)."s", "^");
  echo "</pre>";
}

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocierror(). В PHP 5.0.0 и выше ocierror() является алиасом oci_error(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.