Новые книги

В своем руководстве для владельцев малого и среднего бизнеса известный эксперт по прикладному маркетингу Джон Янч приводит простые, эффективные и бюджетные методы разработки и реализации маркетинговой стратегии с целью привлечения новых клиентов и повышения доходов.

На русском языке публикуется впервые.
Что такое Getting Real?

Хотите создать успешное веб-приложение? Тогда пришло время для подхода «Getting Real», легковесного, быстрого и в целом лучшего пути создания программного обеспечения.

Getting Real — это отказ от вещей, представляющих реальность (диаграммы, графики, схемы, стрелочки и модели) и создание реальной вещи

Getting Real — это значит «меньше». Меньше массы, меньше программного обеспечения и его возможностей, меньше бумагомарания — словом, меньше всего того, что является несущественным (а большая часть того, что, как вам кажется, критически важно, на самом деле таковым не является)

Getting Real значит оставаться небольшим и шустрым.

Getting Real начинает с интерфейса, с реальных экранов, которыми будут пользоваться ваши клиенты. Это позволяет получить правильный интерфейс до того, как вы создадите неправильную программу.

Getting Real — это итерации и снижение стоимости изменений, Getting Real — это запуск и постоянное улучшение. То есть подход, идеальный для веб-приложений.

Getting Real — это создание того, в чём нуждается клиент и исключение того, что ему не нужно.

OCILogon



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

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