ocidefinebyname

(PHP 3>= 3.0.7, PHP 4 , PHP 5)

ocidefinebyname --  Usa uma variável PHP para a definição de passos durante um SELECT

Descrição

bool ocidefinebyname ( resource stmt, string column_name, mixed &variable [, int type] )

ocidefinebyname() passa variáveis PHP para colunas selecionadas de um SQL. Tome cuidado pois o Oracle usa todos os nomes de colunas em MAIÚSCULA, pelo qual no seu select você pode também escrever em minúscula. ocidefinebyname() espera que o column_name esteja em maiúscula. Se você definir uma variável que não existe em sua declaração select, nenhum erro será retornado!

Se você precisar definir um tipo de dado abstrato (LOB/ROWID/BFILE) você precisa alocar isso primeiro usando ocinewdescriptor(). Veja também a função ocibindbyname().

Exemplo 1. ocidefinebyname() example

<?php
/* OCIDefineByName example - thies at thieso dot 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);
?>