Description
int
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
?php
print " 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);
print " /PRE /HTML ";
?
|
|
See also OCILogon() and
OCIPLogon().