OCIDefineByName

(PHP 3>= 3.0.7, PHP 4 >= 4.0.0)

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);
?>