PHP Handbuch
Zurück |  | Nach vorne

# ocidefinebyname

(PHP 3>= 3.0.7, PHP 4 )

ocidefinebyname -- Definiert eine PHP Variable als Platzhalter für die Werte eines SELECTs

## Beschreibung

int OCIDefineByName ( int stmt, string Spaltenname, mixed & Variable [, int Typ])

OCIDefineByName() legt eine PHP Variable als Ziel für den Inhalt einer Spalte nach dem Fetchen fest. Es ist zu beachten, dass Oracle alle Spalten GROSSBUCHSTABIG ausliefert. Daher erwartet OCIDefineByName() den Parameter `Spaltenname` grossbuchstabig. Wird ein `Spaltenname` benutzt, der nicht im SELECT vorhanden ist, wird keine Fehlermeldung ausgegeben.

Soll ein abstrakter Datentyp (LOB/ROWID/BFILE) definiert werden, so muss er zuerst angefordert werden mit der OCINewDescriptor() Funktion. In diesem Zusammenhang ist auch die OCIBindByName() zu beachten.

Beispiel 1. OCIDefineByName

    <?php
    /* OCIDefineByPos example thies@thieso.net (980219) */

    $conn = OCILogon("scott","tiger");

    $stmt = OCIParse($conn,"select empno, ename from emp");

    /* the define MUST be done BEFORE 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);
    ?>

Zurück | Zum Anfang | Nach vorne
ocicommit | Nach oben | ocierror