(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)
OCIDefineByName — Usa una variable de PHP para el define-step durante una sentencia SELECT
OCIDefineByName() busca el valor de las Columnas-SQL dentro de variables PHP definidas por el usuario. Cuidado que Oracle nombra todas las columnas en MAYUSCULAS, mientras que en su select puede usar también minúsculas write lower-case. OCIDefineByName() espera que Column-Name esté en mayúsculas. Si define una variable que no existe en la sentecia SELECT, no se producirá ningún error.
Si necesita definir un tipo de dato abstracto (LOB/ROWID/BFILE) tendrá que alojarlo primero usando la función OCINewDescriptor() function. Vea también la función OCIBindByName().
Example#1 OCIDefineByName
<?php /* OCIDefineByPos example thies@digicol.de (980219) */ $conn = OCILogon("scott","tiger"); $stmt = OCIParse($conn,"select empno, ename from emp"); /* la definición DEBE hacerse ANTES del 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); ?>