Учебник РНР
НазадВперёд

OCIDefineByName

(PHP 3>= 3.0.7, PHP 4)

OCIDefineByName - использует PHP-переменную для define-этапа при выполнении SELECT.

Описание

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

OCIDefineByName() связывает PHP-переменные для извлечения SQL-столбцов. Не забывайте, что Oracle использует имена столбцов ALL-UPPERCASE, в то время как в вашем select вы можете также записывать в нижнем регистре. OCIDefineByName() ожидает, что Column-Name будет в верхнем регистре. Если вы определяете переменную, которая не существует в вашем операторе select, ошибка не будет выдана!

Если вам нужно определить абстрактный тип данных (LOB/ROWID/BFILE), его нужно сначала разместить с помощью OCINewDescriptor(). См. также OCIBindByName().

Пример 1. OCIDefineByName

<?php
/* пример OCIDefineByName - [email protected] (980219) */

$conn = OCILogon("scott","tiger");

$stmt = OCIParse($conn,"select empno, ename from emp");

/* это определение ОБЯЗАНО быть сделано ДО 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);
?>

НазадОглавлениеВперёд
OCICommitВверхOCIError