Учебник РНР
Назад Вперёд

OCILogon

(PHP 3>= 3.0.4, PHP 4)

OCILogon - устанавливает соединение с Oracle.

Описание

int OCILogon (string username, string password [, string db])

OCILogon() возвращает идентификатор соединения, необходимый для большинства других OCI-вызовов. Необязательный третий параметр может содержать имя локального экземпляра Oracle или имя вхождения в tnsnames.ora, с которым вы хотите соединиться. Если необязательный третий параметр не специфицирован, PHP использует переменные окружения ORACLE_SID (Oracle-экземпляр) или TWO_TASK (tnsnames.ora) для определения того, с какой БД соединиться.

Соединения используются совместно на уровне страницы при работе с OCILogon(). Это значит, что подтверждения и откаты применяются ко всем открытым транзакциям на странице, даже если вы создали несколько соединений.

В примере показано, как совместно использовать/share соединения.

Пример 1. OCILogon
<?php print "<HTML><PRE>"; $db = ""; $c1 = ocilogon("scott","tiger",$db); $c2 = ocilogon("scott","tiger",$db); function create_table($conn) { $stmt = ociparse($conn,"create table scott.hallo (test varchar2(64))"); ociexecute($stmt); echo $conn." created table\n\n"; } function drop_table($conn) { $stmt = ociparse($conn,"drop table scott.hallo"); ociexecute($stmt); echo $conn." dropped table\n\n"; } function insert_data($conn) { $stmt = ociparse($conn,"insert into scott.hallo values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))"); ociexecute($stmt,OCI_DEFAULT); echo $conn." inserted hallo\n\n"; } function delete_data($conn) { $stmt = ociparse($conn,"delete from scott.hallo"); ociexecute($stmt,OCI_DEFAULT); echo $conn." deleted hallo\n\n"; } function commit($conn) { ocicommit($conn); echo $conn." committed\n\n"; } function rollback($conn) { ocirollback($conn); echo $conn." rollback\n\n"; } function select_data($conn) { $stmt = ociparse($conn,"select * from scott.hallo"); ociexecute($stmt,OCI_DEFAULT); echo $conn."----selecting\n\n"; while (ocifetch($stmt)) echo $conn." <".ociresult($stmt,"TEST").">\n\n"; echo $conn."----done\n\n"; } create_table($c1); insert_data($c1); // вставить ряд с использованием c1 insert_data($c2); // вставить ряд с использованием c2 select_data($c1); // возвращаются результаты обеих вставок select_data($c2); rollback($c1); // откат с использованием c1 select_data($c1); // обе вставки откатываются select_data($c2); insert_data($c2); // вставить ряд с использованием c2 commit($c2); // подтвердить использование c2 select_data($c1); // возвращается результат c2-вставки delete_data($c1); // удалить все ряды в таблице с использованием c1 select_data($c1); // ряды не возвращаются select_data($c2); // ряды не возвращаются commit($c1); // подтвердить использование c1 select_data($c1); // ряды не возвращаются select_data($c2); // ряды не возвращаются drop_table($c1); print "</PRE></HTML>"; ?>

См. также OCIPLogon() и OCINLogon().


Назад Оглавление Вперёд
OCILogOff Вверх OCINewCollection