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