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 [, string charset]] )
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.
Using Oracle server version 9.2 and greater, you can
indicate charset parameter, which will be used in the new
connection. If you're using Oracle server < 9.2, this parameter will be ignored
and NLS_LANG environment variable will be used instead.
This example demonstrates how the connections are separated.
Example 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>"; ?>
|
|
Note:
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.