PHP: oci_error - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

oci_execute oci_define_by_name

Last updated: Sat, 27 Jan 2007

view this page in

# 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(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

add a note User Contributed Notes
oci_error
bjanetzki at mpmail.net
02-Nov-2004 12:32
`The second example (Displaying the Oracle error message after a parsing error) is wrong.
This example works for me:
$stmt = @oci_parse($conn, "select ' from dual"); // note mismatched quote
if (!$stmt) {
$e = oci_error($conn); // For oci_parse errors pass the connection handle
echo htmlentities($e['message']);
}`
add a note
oci_execute oci_define_by_name

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 10:36:09 2007 PST