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