Manuel PHP
Précédent |  | Suivant

# oci_define_by_name

(PHP 5)

oci_define_by_name -- Utilise une variable PHP pour la phase de définition, dans une commande SELECT Oracle

## Description

bool oci_define_by_name ( resource statement, string column_name, mixed &variable [, int type] )

oci_define_by_name() copie les valeurs issues de la colonne column_name de la commande exécutée statement, dans la variable PHP &variable. Méfiez-vous des colonnes Oracle qui sont toutes en majuscules, tandis que dans les SELECT, vous pouvez aussi les écrire en minuscules. oci_define_by_name() s'attend à ce que column_name soit en majuscules. Si vous définissez une variable qui n'existe pas dans la commande SELECT, vous ne serez pas prévenu par une erreur.

type est le type de données à lire. 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().

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.

Précédent | Sommaire | Suivant
oci_connect | Niveau supérieur | oci_error