ocilogoff
<<<
ocilogon ocinewcollection
>>>

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.105 ocilogon()Etablit une connexion à un serveur Oracle

[ Exemples avec ocilogon ]   PHP 3>= 3.0.4, PHP 4 , PHP 5

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

ocilogon retourne un identifiant de connexion, nécessaire à la plupart des fonctions Oracle. Le nom d'utilisateur username et le mot de passe password seront utilisés pour l'identification. Le paramètre optionnel db peut contenir le nom local du serveur Oracle, ou bien son nom dans la table d'entrées tnsnames.ora à laquelle vous voulez vous connecter. Si le troisième paramètre n'est pas spécifié, PHP utilisera la variable d'environnement ORACLE_SID (instance Oracle) ou TWO_TASK (tnsnames.ora) pour déterminer la base à laquelle se connecter.

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.

Les connexions sont partagées, à l'intérieur d'une même page avec ocilogon . Cela signifie que COMMIT et ROLLBACK s'appliquent à toutes les transactions commencées à l'intérieur d'une même page, même si vous avez créé de multiples connexions.

Les connexions sont partagées au niveau de la page, lorsque vous utilisez ocilogon . Cela signifie que les validations et annulations s'appliquent à toutes les transactions de la page, même si vous avez créé de multiples connexions à un même serveur Oracle.

Cet exemple montre comment les connexions sont partagées :
Exemple avec ocilogon

<?php
echo '<html><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." a créé une table\n\n";
}

function
drop_table($conn) {
$stmt = ociparse($conn,"drop table scott.hallo");
ociexecute($stmt);
echo
$conn." a effacé une 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." a inséré dans hallo\n\n";
}

function
delete_data($conn) {
$stmt = ociparse($conn,"delete from scott.hallo");
ociexecute($stmt,OCI_DEFAULT);
echo
$conn." a effacé dans hallo\n\n";
}

function
commit($conn) {
ocicommit($conn);
echo
$conn." validé\n\n";
}

function
rollback($conn) {
ocirollback($conn);
echo
$conn." annulé\n\n";
}

function
select_data($conn) {
$stmt = ociparse($conn,"select * from scott.hallo");
ociexecute($stmt,OCI_DEFAULT);
echo
$conn."----selection\n\n";
while (
ocifetch($stmt)) {
   echo
$conn." <".ociresult($stmt,"TEST").">\n\n";
}
echo
$conn."----fin\n\n";
}

create_table($c1);
insert_data($c1);   // Insertion avec c1
insert_data($c2);   // Insertion avec c2

select_data($c1);   // Resultats 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 avec c2
commit($c2);        // Validation avec c2

select_data($c1);   // Le résultat de l'insertion via c2

delete_data($c1);   // Effacement de toutes les lignes avec c1
select_data($c1);   // Aucune ligne lue
select_data($c2);   // Aucune ligne lue
commit($c1);        // Validation avec c1

select_data($c1);   // Aucune ligne lue
select_data($c2);   // Aucune ligne lue

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

Note

Cette fonction a été renommée en oci_connect pour PHP version 5.0.0 et plus récent. Pour la compatibilité ascendante, ocilogon peut toujours être utilisée. Toutefois, elle est obsolète.

<< ocilogon >>
ocilogoff Oracle 8 ocinewcollection