ocidefinebyname

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 .

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

 
;

 
?