oci_commit
<<<
oci_connect oci_define_by_name
>>>

8.85 Oracle 8
8 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes pré-définies
Exemples
oci_bind_by_name
oci_cancel
oci_close
OCI-Collection->append
OCI-Collection->assign
OCI-Collection->assignElem
OCI-Collection->getElem
OCI-Collection->free
OCI-Collection->max
OCI-Collection->size
OCI-Collection->trim
oci_commit
->oci_connect
oci_define_by_name
oci_error
oci_execute
oci_fetch_all
oci_fetch_array
oci_fetch_assoc
oci_fetch_object
oci_fetch_row
oci_fetch
oci_field_is_null
oci_field_name
oci_field_precision
oci_field_scale
oci_field_size
oci_field_type_raw
oci_field_type
descriptor->free
oci_free_statement
oci_internal_debug
lob->append
lob->close
oci_lob_copy
lob->eof
lob->erase
lob->export
lob->flush
lob->import
oci_lob_is_equal
lob->load
lob->read
lob->rewind
lob->save
lob->seek
lob->size
lob->tell
lob->truncate
lob->writeTemporary
lob->write
oci_new_collection
oci_new_connect
oci_new_cursor
oci_new_descriptor
oci_num_fields
oci_num_rows
oci_parse
oci_password_change
oci_pconnect
oci_result
oci_rollback
oci_server_version
oci_set_prefetch
oci_statement_type
ocibindbyname
ocicancel
ocicloselob
ocicollappend
ocicollassign
ocicollassignelem
ocicollgetelem
ocicollmax
ocicollsize
ocicolltrim
ocicolumnisnull
ocicolumnname
ocicolumnprecision
ocicolumnscale
ocicolumnsize
ocicolumntype
ocicolumntyperaw
ocicommit
ocidefinebyname
ocierror
ociexecute
ocifetch
ocifetchinto
ocifetchstatement
ocifreecollection
ocifreecursor
ocifreedesc
ocifreestatement
lob->getBuffering
ociinternaldebug
ociloadlob
ocilogoff
ocilogon
ocinewcollection
ocinewcursor
ocinewdescriptor
ocinlogon
ocinumcols
ociparse
ociplogon
ociresult
ocirollback
ocirowcount
ocisavelob
ocisavelobfile
ociserverversion
lob->setBuffering
ocisetprefetch
ocistatementtype
ociwritelobtofile
ociwritetemporarylob

8.85.20 oci_connect()Etablit une connexion avec un serveur Oracle

[ Exemples avec oci_connect ]   PHP 5

resource  oci_connect ( string   username , string   password , string   db , string   charset )

oci_connect retourne une ressource de connexion Oracle, nécessaire à la plupart des appels OCI. username est le nom d'utilisateur et password est le mot de passe utilisés durant l'identification. Le troisième paramètre db , optionnel, contient le nom de l'instance locale d'Oracle, ou le nom de l'entrée dans le fichier tnsnames.ora auquel vous voulez vous connecter. Si le troisième paramètre optionnel db n'est pas spécifié, PHP va utiliser la variable d'environnement ORACLE_SID ( Oracle instance ) ou TWO_TASK ( tnsnames.ora ) pour déterminer la base à laquelle se connecter.

Note

oci_connect ne crée pas de nouvelle connexion si une connexion avec les mêmes paramètres a été établie auparavant. Dans ce cas, oci_connect va retourner la ressource déjà générée. Cela signifie que vous ne pouvez pas utiliser cette fonction pour mener 2 transactions parallèles. Pour établir une connexion distincte, vous devez utiliser la fonction oci_new_connect .

Si vous utilisez un serveur Oracle version 9.2 et suivant, vous pouvez renseigner le paramètre charset , qui peut être utilisé dans la nouvelle connexion. Si vous utilisez un serveur Oracle inférieur à la version 9.2, ce paramètre sera ignoré et la variable d'environnement NLS_LANG sera utilisé à la place.

Exemple avec oci_connect

<?php
echo '<pre>';
$db = '';

$c1 = oci_connect("scott", "tiger", $db);
$c2 = oci_connect("scott", "tiger", $db);

function
create_table($conn)
{
  
$stmt = oci_parse($conn, "create table scott.hallo (test varchar2(64))");
  
oci_execute($stmt);
  echo
$conn . " created table\n\n";
}

function
drop_table($conn)
{
  
$stmt = oci_parse($conn, "drop table scott.hallo");
  
oci_execute($stmt);
  echo
$conn . " dropped table\n\n";
}

function
insert_data($conn)
{
  
$stmt = oci_parse($conn, "insert into scott.hallo
            values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))"
);
  
oci_execute($stmt, OCI_DEFAULT);
  echo
$conn . " inserted hallo\n\n";
}

function
delete_data($conn)
{
  
$stmt = oci_parse($conn, "delete from scott.hallo");
  
oci_execute($stmt, OCI_DEFAULT);
  echo
$conn . " deleted hallo\n\n";
}

function
commit($conn)
{
  
oci_commit($conn);
  echo
$conn . " committed\n\n";
}

function
rollback($conn)
{
  
oci_rollback($conn);
  echo
$conn . " rollback\n\n";
}

function
select_data($conn)
{
  
$stmt = oci_parse($conn, "select * from scott.hallo");
  
oci_execute($stmt, OCI_DEFAULT);
  echo
$conn."----selecting\n\n";
  while (
oci_fetch($stmt)) {
    echo
$conn . " [" . oci_result($stmt, "TEST") . "]\n\n";
  }
  echo
$conn . "----done\n\n";
}

create_table($c1);
insert_data($c1);   // Insertion d'une ligne via c1
insert_data($c2);   // Insertion d'une ligne via c2

select_data($c1);   // Résultat des insertions
select_data($c2);   

rollback($c1);      // Annulation sur c1

select_data($c1);   // Les deux insertions ont été annulées
select_data($c2);   

insert_data($c2);   // Insertion d'une ligne via c2
commit($c2);        // Validation via c2

select_data($c1);   // Le résultat de c2 est retourné

delete_data($c1);   // Effacement de toute la table via c1
select_data($c1);   // Aucune ligne de trouvée
select_data($c2);   // Aucune ligne de trouvée
commit($c1);        // Validation via c1

select_data($c1);   // Aucune ligne de trouvée
select_data($c2);   // Aucune ligne de trouvée

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

oci_connect retourne FALSE si une erreur survient.

Note

Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocilogon . Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_connect , pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

Voir aussi oci_pconnect et oci_new_connect .

<< oci_connect >>
oci_commit Oracle 8 oci_define_by_name