boolean ocifetchinto(resource statement, reference data, integer mode)
Функция ocifetchinto (листинг 17.37) предназначена для того, чтобы получить строку данных из выполненного оператора и поместить ее в массив. Аргумент data должен содержать массив, по умолчанию индексируемый целыми числами, которые начинаются с единицы. Необязательный аргумент mode управляет индексированием массивов PHP. Для того чтобы получить необходимые возможности, можно добавить константы, приведенные в табл. 17.11.
Базы данных
Листинг 17.37. Функция ocifetchinto

<?php
// подключиться к базе данных $Link = ocilogon("scott", "tiger"); // создать запрос $Query = "SELECT * " .
"FROM emp ";
// проанализировать запрос
$Statement = ociparse($Link, $Query);
// выполнить запрос
ociexecute($Statement);
// начало HTML- таблицы
print('<table border="1">');
// выбрать каждую строку
while(ocifetchinto($Statement, $Column,
OCI_NUM | OCI_RETURN_NULLS | OCI_RETURN_LOBS))
{
print("<tr><td>" .
implode('</td><td>', $Column) .
"</td></tr>n");
}
// закрыть таблицу
print("</table>n");
// освободить оператор
ocifreestatement($Statement);
// закрыть соединение
ocilogoff($Link);
?> 
integer ocifetchstatement(resource statement, reference data)
Функция ocifetchstatement (листинг 17.38) помещает в аргумент data массив с результирующими данными и возвращает количество строк. Массив data проиндексирован по именам столбцов. Каждый элемент сам по себе является массивом, проиндексированным целыми числами, начиная с нуля. Каждый элемент этого подмассива соответствует строке.

| Листинг 17.38. Функция ocifetchstatement_
<?php
// подключиться к базе данных $Link = ocilogon("scott", "tiger"); // собрать запрос $Query = "SELECT * " .
"FROM emp ";
// проанализировать запрос
$Statement = ociparse($Link, $Query);
// выполнить запрос
ociexecute($Statement);
print('<table border="1">');
// выбрать все строки в массив
$RowCount = ocifetchstatement($Statement, $Data); print("$RowCount Rows<br>"); foreach($Data as $Column) {
print("<tr><td>" .
implode('</td><td>', $Column) .
"</td></tr>n");
}
print("</table>n"); // освободить оператор ocifreestatement($Statement); // закрыть соединение ocilogoff($Link);
?>

boolean ocifreecollection(object collection)
Функция ocifreecollection освобождает память, зарезервированную коллекцией.
boolean ocifreecursor(integer cursor)
Функция ocifreecursor предназначена для освобождения памяти, занятой курсором, созданным функцией ocinewcursor.
boolean ocifreedesc(object lob)
Функция ocifreedesc освобождает память, зарезервированную дескриптором большого объекта.
boolean ocifreestatement(resource statement)
Функция ocifreestatement используется для освобождения памяти, задействованной оператором. Аргумент statement представляет собой целое число, возвращаемое функцией ociparse. 
ociinternaldebug(boolean on)
Функция ociinternaldebug управляет генерированием отладочной информации. Отладочный вывод отправляется в браузер. Конечно, по умолчанию он отключен.
string ociloadlob(object lob)
Функция ociloadlob возвращает содержимое большого объекта.
boolean ocilogoff(integer link)
Функция ocilogoff закрывает соединение.
integer ocilogon(string user, string password, string sid)
Функция ocilogon устанавливает соединение с базой данных Oracle. Идентификатор, который она возвращает, используется при создании операторов, курсоров и дескрипторов. Необходимо задавать аргументы user и password. Необязательный аргумент sid задает сервер, и в том случае, когда он отсутствует, используется переменная среды ORACLE_SID.
При попытке создать следующее соединение с ранее открытой базой данных, оно создано не будет. Это значит, что все операторы commit или rollback воздействуют на все операторы, созданные сценарием. Для того чтобы создать новое соединение, необходимо воспользоваться оператором ocinlogon.
boolean ocinewcollection(resource connection, string tdo, string schema)
Функция ocinewcollection создает новое соединение и требует для передачи аргумента TDO (Type Descriptor Object - объект дескриптора типа). Кроме того, с помощью аргумента schema можно задать соответствующую схему.