&reftitle.examples;
Ces exemples utilisent, pour se connecter à la base de données,
l'utilisateur HR qui est le schéma
"Human Resources" fourni par la
base de données Oracle. Ce compte doit avoir été déverrouillé et
le mot de passe réinitialisé avant de pouvoir l'utiliser.
Ces exemples se connectent à la base de données
XE de votre machine. Modifiez la chaîne de connexion
afin de correspondre à votre base de données avant d'exécuter les
exemples de cette documentation.
Requête simple
Cet exemple montre l'exécution d'une requête et l'affiche des résultats.
Les requêtes OCI8 utilisent les étapes préparation/exécution/récupération
des données.
\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
print "
\n";
}
print "\n";
oci_free_statement($stid);
oci_close($conn);
?>
]]>
Insertion de données en utilisant des variables liées
Les variables liées augmentent les performances en permettant la réutilisation
du cache et du contexte d'exécution. Les variables liées augmentent également
la sécurité en prévenant bons nombres d'injection SQL.
]]>
Liage d'une clause WHERE d'une requête
Ceci montre le liage simple.
\n";
}
// Affiche :
// Austin
// Ernst
// Hunold
// Lorentz
// Pataballa
oci_free_statement($stid);
oci_close($conn);
?>
]]>
Insertion de données dans une colonne CLOB
Pour de lourdes données, utilisez un objet binaire long (BLOB)
ou un objet de caractères long (CLOB). Cet exemple utilise les CLOB.
save("Une chaîne vraiment très longue");
oci_commit($conn);
// Récupération de données CLOB
$query = 'SELECT myclob FROM mytable WHERE mykey = :mykey';
$stid = oci_parse ($conn, $query);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid);
print '
';
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_LOBS)) {
print '
'.$row['MYCLOB'].'
';
// Dans une boucle, le fait de libérer la variable avantde récupérer la
// seconde ligne permet de réduire l'utilisation mémoire de PHP
unset($row);
}
print '
';
?>
]]>
Utilisation d'une procédure stockée PL/SQL
Vous devez lier une variable pour la valeur retournée et, optionnellement,
pour tous les arguments de la fonction PL/SQL.
]]>
Utilisation d'une procédure stockée PL/SQL
Avec les procédures stockées, vous devez lier les variables pour tous
les arguments.
]]>
Appel d'une fonction PL/SQL qui retourne un REF CURSOR
Chaque valeur retournée par la requête est un REF
CURSOR à utiliser pour récupérer les données.
\n";
while (($row = oci_fetch_array($stid, OCI_ASSOC))) {
echo "
\n";
$rc = $row['MFRC'];
oci_execute($rc); // La valeur de la colonne retournée depuis la requête est une référence de curseur
while (($rc_row = oci_fetch_array($rc, OCI_ASSOC))) {
echo "