Manuel PHP
Précédent |  | Suivant

# ociDefineByName

(3.0.7 - 3.0.18 only, PHP 4 >= 4.0.0)

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

## Description

``int ocidefinebyname` (resource stmt, string Column-Name, mixed variable [, int type])`

ocidefinebyname() copie les valeurs issues de colonnes SQL `Column-Name` dans les variables PHP. Méfiez-vous des colonnes Oracle qui sont toutes en majuscule, tandis que dans les SELECT, vous pouvez aussi les écrire en minuscules. ocidefinebyname() s'attends à 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.

Si vous avez besoin de définir un type de données abstrait, tel que (LOB/ROWID/BFILE), vous devez lui allouer la mémoire avec ocinewdescriptor(). Reportez-vous aussi à ocibindbyname().

Exemple 1. ociDefineByName
    <?php
    /* Exemple ociDefineByPos par thies@thieso.net (980219) */
    $conn = ociLogon("scott","tiger");
    $stmt = ociparse($conn,"select empno, ename from emp");
    /* La définition DOIT être faîte AVANT ociexecute! */
    ociDefineByName($stmt,"EMPNO",&$empno);
    ociDefineByName($stmt,"ENAME",&$ename);
    ociexecute($stmt);
    while (ociFetch($stmt)) {
        echo "empno:".$empno."\n";
        echo "ename:".$ename."\n";
    }
    ociFreeStatement($stmt);
    ociLogoff($conn);
    ?>

Précédent | Sommaire | Suivant
Oracle 8 | Niveau supérieur | ociBindByName