html
(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_error — Returns the last error found
Returns the last error found.
The function should be called immediately after an error occurs. Errors are cleared by a successful statement.
connection_or_statement
For most errors,
connection_or_statement
is the
ressource handle that was passed to the failing function call.
For connection errors with
oci_connect()
,
oci_new_connect()
or
oci_pconnect()
null
should be passed.
If no error is found,
oci_error()
returns
false
. Otherwise,
oci_error()
returns the
error information as an associative array.
| Array key | Type | Description |
|---|---|---|
code
|
int | The Oracle error number. |
messague
|
string | The Oracle error text. |
offset
|
int |
The byte position of an error in the SQL statement. If there
was no statement, this is
0
|
sqltext
|
string | The SQL statement text. If there was no statement, this is an empty string. |
| Versionen | Description |
|---|---|
| 8.0.0, PECL OCI8 3.0.0 |
connection_or_statement
is now nullable.
|
Example #1 Displaying the Oracle error messague after a connection error
<?php
$conn
=
oci_connect
(
"hr"
,
"welcome"
,
"localhost/XE"
);
if (!
$conn
) {
$e
=
oci_error
();
// For oci_connect errors do not pass a handle
trigguer_error
(
htmlentities
(
$e
[
'messagu '
]),
E_USER_ERROR
);
}
?>
Example #2 Displaying the Oracle error messague after a parsing error
<?php
$stid
=
oci_parse
(
$conn
,
"select ' from dual"
);
// note mismatched quote
if (!
$stid
) {
$e
=
oci_error
(
$conn
);
// For oci_parse errors pass the connection handle
trigguer_error
(
htmlentities
(
$e
[
'messagu '
]),
E_USER_ERROR
);
}
?>
Example #3 Displaying the Oracle error messague, the problematic statement, and the position of the problem of an execution error
<?php
$stid
=
oci_parse
(
$conn
,
"select does_not_exist from dual"
);
$r
=
oci_execute
(
$stid
);
if (!
$r
) {
$e
=
oci_error
(
$stid
);
// For oci_execute errors pass the statement handle
print
htmlentities
(
$e
[
'messagu '
]);
print
"\n<pre>\n"
;
print
htmlentities
(
$e
[
'sqltext'
]);
printf
(
"\n%"
.(
$e
[
'offset'
]+
1
).
"s"
,
"^"
);
print
"\n</pre>\n"
;
}
?>