Forum und email

OCIDefineByName

(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

Descripción

int OCIDefineByName ( int $stmt , string $Column-Name , mixed & $variable [, int $type ] )

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 [email protected] (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);
?>