7.72 Oracle 8
7 Index des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes prédefinies . Exemples . ocibindbyname . ocicancel . ocicloselob . ocicollappend . ocicollassign . ocicollassignelem . ocicollgetelem . ocicollmax . ocicollsize . ocicolltrim . ocicolumnisnull . ocicolumname . ocicolumnprecision . ocicolumnscale . ocicolumnsize . ocicolumntype . ocicolumntyperaw . ocicommit . ocidefinebyname . ocierror . ociexecute . ocifetch . ocifetchinto . ocifetchstatement . ocifreecollection . ocifreecursor . ocifreedesc . ocifreestatement . ociinternaldebug . ociloadlob . ocilogoff ->ocilogon . ocinewcollection . ocinewcursor . ocinewdescriptor . ocinlogon . ocinumcols . ociparse . ociplogon . ociresult . ocirollback . ocirowcount . ocisavelob . ocisavelobfile . ociserverversion . ocisetprefetch . ocistatementtype . ociwritelobtofile . ociwritetemporarylob
|
7.72.39 ocilogon()Etablit une connexion à un serveur Oracle[ Exemples avec ocilogon ] PHP 3>= 3.0.4, PHP 4
resource
ocilogon (
string
username
,
string
password
,
string
db
)
ocilogon
retourne un identifiant de connexion,
nécessaire à la plupart des fonctions oci. 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.
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 print "<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"$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($
0000BB">$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); print "</PRE></HTML>"; ?>
|
Voir aussi
ociplogon
et
ocinlogon
.
|