Информационные технологииStfw.Ru 🔍

Oracle

Взаимодействие с базами данных
🕛 01.11.2006, 14:00
Примерный образец работы с БД:

<?php
putenv( "ORACLE_SIDORACLE");
puterw("ORACLE_HOME=
/opt/oracle/oracle/8.0.3");
$conn = ora_login("user_nam". "passwd"):
// Sconn - ora_login
("user_nam@server", "passwd");
// или так $curs = ora_open($conn).
ora_comrntoff($conn):
$query = "select * from t";
ora_parse($curs. $query);
ora_exec($curs):
// ora_do(Sconn. $query);
// краткая версия запроса
$ncols = orajiumcols(Scurs);
// число полей Snrows =
ora_numrows(Scurs);
// число записей
$hdr=TRUE:
while (ora_fetch(Scurs))
{ // следующая запись
if(Shdr) // выводить заголовок
только в начале
for (Si=0; $i<$ncols: Si++)
pnntf("[Si] Its Us). \n". ora_columnname
($curs. $1).
ora_columntype(Scurs. $1))
: $hdr=FALSE. for ($1=0; Si
<Sncols; $l++)
print ora_getcolumn(Scurs.$i).
"; "; // поле print "\n"; } ?>

Ora_Logon

Подключение к серверу Oracle

int orajogon (string user, string password)

Возвращает дескриптор подключения к БД или FALSE - при ошибке.

Подключения также могут создаваться с использованием синтаксиса SQL*Net с указанием TNS имени пользователя user в виде:

Sconn = Ora_Logon
( "system/user@host" . "pass" );

Если имеются не-ASCII символы, то должна быть установлена (до запуска сервера) переменная окружения (Oracle) NLS_LANG.

Ora_Logoff

Закрытие подключения

int orajogoff (int connection)

Возвращает TRUE или FALSE - при ошибке.

См. также ora_logon().

Ora_pLogon

Создание устойчивого подключения к серверу Oracle

int ora_plogon (string user, string password)

См. также oraJogon().

Ora_0pen

Открытие курсора

int ora_open (int connection)

Возвращает индекс курсора для подключения connection или FALSE -при ошибке.

Ora_Close

Закрытие курсора

int ora_close (int cursor)

Закрывает курсор, открытый ora_open().

Возвращает TRUE или FALSE -при ошибке.

Ora_CommitOn

Разрешение автовыполнения запросов /»

int ora_commiton (int conn) {

Каждый запрос для подключения conn, выполняемый функцией ога_ ехес(), будет автоматически завершаться.

Возвращает TRUE или FALSE - при ошибке.

Ora_CommitOff

Запрет автовыполнения запросов

int ora commitoff (int conn)

Ora _Commit

Завершение текущей транзакции int ora_commit (int conn)

Транзакцией является серия изменений в БД (запросов) после последнего завершения транзакции (если автозавершсние было отключено).

Возвращает TRUE или FALSE - при ошибке.

Ora_Rollback

Отмена транзакции

int ora_rolI back (int connection)

Функция, обратная ora_commit().

Возвращает TRUE или FALSE - при ошибке.

Ora_Parse

Интерпретация SQL-запроса

int ora_parse (int cursor_ind, string sql_statement, int defer)

Подготавливает для исполнения запрос SQL или блок PL/SQL и связывает с курсором.

Возвращает 0 или -1 - при ошибке.

См. также: ога_ехес(), ora_fetch() и ora_do().

Ога_Ехес

Исполнение подготовленного запроса

int ora_exec (int cursor)

Возвращает TRUE или FALSE - при ошибке.

См. также: ora_parse(), ora_fetch() и ora_do().

Ora_Do

Одновременное выполнение команд Parse; Exec, Fetch

int ora_do (int conn, string query)

Функция является комбинацией трех функций: ora_parse(), ora_exec(), ora_fetch().

Возвращает TRUE или FALSE - при ошибке.

См. также: ora_parse(), ora_exec() и ora_fetch().

Ora_Bind

Связывание переменной РНР с SQL-параметром Oracle

int ora_bind (int cursor, string PHP_var_name, string SQL_param_name, int length [, int type])

Возвращает TRUE или FALSE - при ошибке.

SQL параметр должен указываться в виде ":name". Необязательным аргументом type можно указать вид SQL параметра (входящий, выходящий): IN/OUT (0, по умолчанию), in (1) или out (2). В РНР 3.0.1 можно использовать вместо цифр константы: ORA_BIND_INOUT, ORA_ BINDJN и ORA_BIND_OUT.

Функция должна вызываться после ora_parse() и до ога_ехес().

<?php
ora_parse(Scurs. "declare tmp INTEGER; "
"begin tmp :- :in; :out :- tmp; :x := 7.77; end;"):
ora_bind($curs. "result". ":x". $len. 2).
ora_bind($curs. "input", "in". 5. 1);
ora_bind($curs. "output". ";out". 5. 2).
Sinput = 765; ora_exec($curs);
echo "Result; tresult; Out: Soutput: In: $input":
?>

Ora_Error

Получение сообщения об ошибке Oracle

string Ora_Error (int cursor_or_connection)

Сообщение возвращается в виде строчек вида XXX-NNNNN, где XXX означает место возникновения ошибки, a NNNNN - причину.

Ora_ErrorCode

Получение кода ошибки Oracle

int Ora_ErrorCode (int cursor_or_connection)

Возвращает численное значение ошибки, произошедшей при последней операции.

О означает отсутствие ошибки.

Ora_Numcols

Получение числа полей, возвращенных запросом

int orajiumcols (int cursorjind)

См. также: ora_parse(), ora_exec(), ora_fetch() и ora_do().

Ora_Numrows

Получение числа записей, возвращенных запросом

int orajiumrows (int cursor_ind)

Ora_Fetch

Получение записи

int ora_fetch (int cursor)

Возвращает TRUE или FALSE - при ошибке или если записей больше не имеется.

См. также: ora_parse(), ora_exec() и ora_do().

Ora_Fetch_lnto

Получение записи в массиве

int ora_fetch_into (int cursor, array result [, int flags])

<?php array($results);
ora_fetch_into($cursor. &$results):
echo $results[0]. $results[ll: ?>

Заметьте, что массив необходимо передавать по ссылке.

См. также: ora_parse(), ora_exec(), ora_fetch() и ora_do().

Ora_GetColumn

Получение данных поля записи

mixed ora_getcolumn (int cursor, mixed column)

Возвращает значение поля (или результата SQL/PL функции) или FALSE - при ошибке. Заметьте, что возвращаемые данные могут иметь значения: NULL, "", О, "О".

Ora_ColumnName

Получение имени поля

string Ora_ColumnName (int cursor, int column) Возвращает имя в верхнем регистре.

Ora_ColumnSize

Получение размера поля

int Ora_ColumnSize (int cursor, int Column)

Ora_ColumnType

Получение типа поля

string Ora_ColumnType (int cursor, int column)

Возвращаемая строка может иметь следующие значения:

«VARCHAR2»;
«VARCHAR»;
«CHAR»;
«NUMBER»;
«LONG»;
«LONG RAW»;
«ROWID»;
«DATE»;
«CURSOR».

Учебник по основам PHP   Теги:

Читать IT-новости в Telegram

Читайте также:

Oracle 8

Информационные технологии
Мы в соцсетях ✉