Руководство по PHP
Пред. |  | След.

# oci_define_by_name

(PHP 5)

oci_define_by_name -- Определяет переменную PHP, в которую будет возвращено соответствующее поле из результата

## Описание

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

oci_define_by_name() назначает переменную PHP, которая будет использована, как получатель результата выполнения выборки.

> Замечание: Не забывайте о том, что Oracle всегда возвращает имена полей в ВЕРХНЕМ регистре (если, конечно, вы не используете синтаксис 'SELECT field_name "field_name" FROM table_name'). Поэтому oci_define_by_name() обычно ожидает параметр column_name в верхнем регистр. Заметьте, что эта функция не возвратит ошибку, если соответствующее поле будет отсутствовать в результате выборки.

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

Пример 1. Пример использования oci_define_by_name()
`<?php /* oci_define_by_name example - thies at thieso dot net (980219) */ $conn = oci_connect("scott", "tiger"); $stmt = oci_parse($conn, "SELECT empno, ename FROM emp"); /* the define MUST be done BEFORE ociexecute! */ oci_define_by_name($stmt, "EMPNO", $empno); oci_define_by_name($stmt, "ENAME", $ename); oci_execute($stmt); while (oci_fetch($stmt)) { echo "empno:" . $empno . "\n"; echo "ename:" . $ename . "\n"; } oci_free_statement($stmt); oci_close($conn); ?>`

> Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocidefinebyname(). В PHP 5.0.0 и выше ocidefinebyname() является алиасом oci_define_by_name(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Пред. | Начало | След.
oci_connect | Уровень выше | oci_error