Russian Ukraine English
Catalog RSS


(PHP 3>= 3.0.7, PHP 4 )

OCIDefineByName -- Use a PHP variable for the define-step during a SELECT


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