uznay-chto-hochesh.narod.ru

-сайт для интересующихся людей

Учебник - справочник по PHP.

Здесь Вы найдете что хотели

Меню сайта
Главная
Введение
Справочник языка
Возможности РНР
Функции (справочник)
Расширение РНР 4.0
F.A.Q. частые вопросы
Приложения
Алфавитный указатель
Друзья сайта
сделай сайт сам! пособие по html
изучение html и web-дизайна для новичков
Бесплатная отправка смс на все операторы
Реклама
 
НазадВперёд

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

Хостинг от uCoz