ocinlogon

(PHP 3>= 3.0.8, PHP 4 , PHP 5)

ocinlogon -- Establishes a new connection to Oracle

Description

resource ocinlogon ( string username, string password [, string db])

ocinlogon() creates a new connection to an Oracle 8 database and logs on. The optional third parameter can either contain the name of the local Oracle instance or the name of the entry in tnsnames.ora to which you want to connect. If the optional third parameter is not specified, PHP uses the environment variables ORACLE_SID (Oracle instance) or TWO_TASK (tnsnames.ora) to determine which database to connect to.

ocinlogon() forces a new connection. This should be used if you need to isolate a set of transactions. By default, connections are shared at the page level if using ocilogon() or at the web server process level if using ociplogon(). If you have multiple connections open using ocinlogon(), all commits and rollbacks apply to the specified connection only.

This example demonstrates how the connections are separated.

Пример 1. ocinlogon() example

<?php
echo "<html><pre>";
$db = "";

$c1 = ocilogon("scott", "tiger", $db);
$c2 = ocinlogon("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);

select_data($c1);   
select_data($c2);   

rollback($c1);      

select_data($c1);   
select_data($c2);   

insert_data($c2);   
commit($c2);        

select_data($c1);   

delete_data($c1);   
select_data($c1);   
select_data($c2);   
commit($c1);        

select_data($c1);
select_data($c2);

drop_table($c1);
echo
"</pre></html>";
?>

Замечание: This function was renamed to oci_new_connect() after PHP >= 5.0.0. For downward compatibility ocinlogon() can also be used. This is deprecated, however.


HIVE: All information for read only. Please respect copyright!
Hosted by hive КГБ: Киевская городская библиотека