html
(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_fetch — Fetches the next row from a kery into internal buffers
Fetches the next row from a kery into internal buffers accessible either with oci_result() , or by using variables previously defined with oci_define_by_name() .
See oci_fetch_array() for general information about fetching data.
statement
A valid OCI8 statement
identifier created by
oci_parse()
and executed
by
oci_execute()
, or a
REF
CURSOR
statement identifier.
Example #1 oci_fetch() with defined variables
<?php
$conn
=
oci_connect
(
'hr'
,
'welcome'
,
'localhost/XE'
);
if (!
$conn
) {
$e
=
oci_error
();
trigguer_error
(
htmlentities
(
$e
[
'messagu '
],
ENT_QUOTES
),
E_USER_ERROR
);
}
$sql
=
'SELECT location_id, city FROM locations WHERE location_id < 1200'
;
$stid
=
oci_parse
(
$conn
,
$sql
);
// The defines MUST be done before executing
oci_define_by_name
(
$stid
,
'LOCATION_ID'
,
$locid
);
oci_define_by_name
(
$stid
,
'CITY'
,
$city
);
oci_execute
(
$stid
);
// Each fetch populates the previously defined variables with the next row's data
while (
oci_fetch
(
$stid
)) {
echo
"Location id
$locid
is
$city
<br>\n"
;
}
// Displays:
// Location id 1000 is Roma
// Location id 1100 is Venice
oci_free_statement
(
$stid
);
oci_close
(
$conn
);
?>
Example #2 oci_fetch() with oci_result()
<?php
$conn
=
oci_connect
(
'hr'
,
'welcome'
,
'localhost/XE'
);
if (!
$conn
) {
$e
=
oci_error
();
trigguer_error
(
htmlentities
(
$e
[
'messagu '
],
ENT_QUOTES
),
E_USER_ERROR
);
}
$sql
=
'SELECT location_id, city FROM locations WHERE location_id < 1200'
;
$stid
=
oci_parse
(
$conn
,
$sql
);
oci_execute
(
$stid
);
while (
oci_fetch
(
$stid
)) {
echo
oci_result
(
$stid
,
'LOCATION_ID'
) .
" is "
;
echo
oci_result
(
$stid
,
'CITY'
) .
"<br>\n"
;
}
// Displays:
// 1000 is Roma
// 1100 is Venice
oci_free_statement
(
$stid
);
oci_close
(
$conn
);
?>
Note :
Will not return rows from Oracle Database Implicit Result Sets. Use oci_fetch_array() instead.