   #PHP Manual Oracle 8 functions ocilogoff ocinewcollection

   PHP Manual
   Prev  Next
   ______________________________________________________________________

                                   ocilogon

   (PHP 3>= 3.0.4, PHP 4 )
   ocilogon -- Establishes a connection to Oracle

Description

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

   ocilogon() returns an connection identifier needed for most other OCI
   calls. 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.

   Connections are shared at the page level when using ocilogon(). This
   means that commits and rollbacks apply to all open transactions in the
   page, even if you have created multiple connections.

   This example demonstrates how the connections are shared.

   Example 1. ocilogon() example
   <?php
   echo "<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);   // Insert a row using c1
   insert_data($c2);   // Insert a row using c2
   select_data($c1);   // Results of both inserts are returned
   select_data($c2);
   rollback($c1);      // Rollback using c1
   select_data($c1);   // Both inserts have been rolled back
   select_data($c2);
   insert_data($c2);   // Insert a row using c2
   commit($c2);        // Commit using c2
   select_data($c1);   // Result of c2 insert is returned
   delete_data($c1);   // Delete all rows in table using c1
   select_data($c1);   // No rows returned
   select_data($c2);   // No rows returned
   commit($c1);        // Commit using c1
   select_data($c1);   // No rows returned
   select_data($c2);   // No rows returned
   drop_table($c1);
   echo "</pre>";
   ?>

   See also ociplogon() and ocinlogon().
   ______________________________________________________________________

   Prev      Home             Next
   ocilogoff  Up  ocinewcollection
