(PHP 5, PECL oci8:1.1-1.2.4)
oci_define_by_name — Utilise une variable PHP pour la phase de définition, dans une commande SELECT Oracle
Définit les variables PHP pour les colonnes SQL récupérées.
Un identifiant de requête OCI valide.
Le nom de la colonne. Doit être en majuscule.
Notez que les colonnes Oracle sont toutes en majuscules, tandis que dans les SELECT, vous pouvez aussi les écrire en minuscules. Si vous définissez une variable qui n'existe pas dans la commande SELECT, vous ne serez pas prévenu par une erreur.
La variable PHP.
Si vous avez besoin de définir un type de données abstrait, tel (LOB/ROWID/BFILE), vous devez lui allouer la mémoire avec oci_new_descriptor(). Reportez-vous aussi à oci_bind_by_name().
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
Exemple #1 Exemple avec oci_define_by_name()
<?php
/* Exemple oci_define_by_name - thies at thieso dot net (980219) */
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT empno, ename FROM emp");
/* La définition doit intervenir avant oci_execute! */
oci_define_by_name($stmt, "EMPNO", $empno);
oci_define_by_name($stmt, "ENAME", $ename);
oci_execute($stmt);
while (oci_fetch($stmt)) {
echo "empno:" . $empno . "\n";
echo "ename:" . $ename . "\n";
}
oci_free_statement($stmt);
oci_close($conn);
?>
Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocidefinebyname(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_define_by_name(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.