Please note that you can still reference a column that has a very complex name by using the curly syntax as shown in this example:
<?php
$queryStr = 'SELECT COUNT(*) FROM FOOBAR'; //Complex name!
// parse and exec...
$queryObj = oci_fetch_object($quertStmt);
echo 'Count: ' . $queryObj->{'COUNT(*)'}; //Curly syntax reference
?>oci_fetch_object
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
oci_fetch_object
Референца за `function.oci-fetch-object.php` со подобрена типографија и навигација.
oci_fetch_object
Класата OCICollection
oci_fetch_object — Враќа следниот ред од барањето како објект
= NULL
Враќа објект што го содржи следниот ред со резултати од барањето. Секој атрибут на објектот одговара на колона од редот. Оваа функција обично се повикува во циклус додека не врати
false, што укажува дека повеќе нема редови.
, тогаш се враќа само подмножеството редови за едно дете барање. За детали за мапирањето на типови на податоци извршено од екстензијата OCI8, видете го
Параметри
statement-
Валиден идентификатор на OCI8 исказ креиран од oci_parse() и извршен од oci_execute(), или
REF CURSORидентификатор на исказ.
Вратени вредности
Враќа објект. Секој атрибут на објектот одговара на колона од редот. Ако нема повеќе редови во statement then false се враќа.
Плочката е слика што се користи за пополнување на област со повторлив модел. LOB колоните се враќаат како LOB дескриптори.
DATE колоните се враќаат како низи форматирани според тековниот формат на датумот. Стандардниот формат може да се промени со Oracle променливи на околината како NLS_LANG или со претходно извршено ALTER SESSION SET
NLS_DATE_FORMAT command.
стандардните имиња на колоните на Oracle, кои не прават разлика помеѓу големи и мали букви, ќе имаат имиња на атрибути со големи букви. Имињата на колоните чувствителни на големи и мали букви ќе имаат имиња на атрибути што ја користат точната големина на буквите на колоната. Користете var_dump() на објектот со резултати за да го проверите соодветниот случај за пристап до атрибути.
Вредностите на атрибутите ќе бидат null за било кој NULL
полиња со податоци.
Примери
Пример #1 oci_fetch_object() example
<?php
/*
Before running, create the table:
CREATE TABLE mytab (id NUMBER, description VARCHAR2(30));
INSERT INTO mytab (id, description) values (1, 'Fish and Chips');
COMMIT;
*/
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);
while (($row = oci_fetch_object($stid)) != false) {
// Use upper case attribute names for each standard Oracle column
echo $row->ID . "<br>\n";
echo $row->DESCRIPTION . "<br>\n";
}
// Output is:
// 1
// Fish and Chips
oci_free_statement($stid);
oci_close($conn);
?>
Пример #2 oci_fetch_object() со имиња на колони чувствителни на големи и мали букви
<?php
/*
Before running, create the table with a case sensitive column name:
CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));
INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');
COMMIT;
*/
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stid = oci_parse($conn, 'SELECT id, "MyDescription" FROM mytab');
oci_execute($stid);
while (($row = oci_fetch_object($stid)) != false) {
// Use upper case attribute names for each standard Oracle column
echo $row->ID . "<br>\n";
// Use the exact case for the case sensitive column name
echo $row->MyDescription . "<br>\n";
}
// Output is:
// 1
// Iced Coffee
oci_free_statement($stid);
oci_close($conn);
?>
Пример #3 oci_fetch_object() со LOBs
<?php
/*
Before running, create the table:
CREATE TABLE mytab (id NUMBER, description CLOB);
INSERT INTO mytab (id, description) values (1, 'A very long string');
COMMIT;
*/
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);
while (($row = oci_fetch_object($stid)) != false) {
echo $row->ID . "<br>\n";
// The following will output the first 11 bytes from DESCRIPTION
echo $row->DESCRIPTION->read(11) . "<br>\n";
}
// Output is:
// 1
// A very long
oci_free_statement($stid);
oci_close($conn);
?>Види Исто така
- oci_fetch() - Добива следниот ред од барање во внатрешни бафери
- oci_fetch_all() - Добива повеќе редови од барање во дводимензионална низа
- oci_fetch_assoc() - Враќа следниот ред од барање како асоцијативна низа
- oci_fetch_array() - Враќа следниот ред од барање како асоцијативна или нумеричка низа
- oci_fetch_row() - Враќа следниот ред од барањето како нумерички низ