Description
int OCIDefineByName
(int stmt, string Column-Name, mixed variable [, int type])
OCIDefineByName() uses fetches SQL-Columns into user-defined PHP-Variables. Be careful that Oracle user ALL-UPPERCASE column-names, whereby in your select you can also write lower-case. OCIDefineByName() expects the Column-Name to be in uppercase. If you define a variable that doesn't exists in you select statement, no error will be given!
If you need to define an abstract Datatype (LOB/ROWID/BFILE) you need to allocate it first using OCINewDescriptor() function. See also the OCIBindByName() function.
Example 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); ?> |
|