PHP Manual
Prev |  | Next

# OCIDefineByName

(3.0.7 - 3.0.18 only, PHP 4 >= 4.0.0)

OCIDefineByName -- Use a PHP variable for the define-step during a SELECT

## Description

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

OCIDefineByName() uses fetches SQL-Columns into user-defined PHP-Variables. Be careful that Oracle user ALL-UPPERCASE column-names, whereby in your select you can also write lower-case. OCIDefineByName() expects the `Column-Name` to be in uppercase. If you define a variable that doesn't exists in you select statement, no error will be given!

If you need to define an abstract Datatype (LOB/ROWID/BFILE) you need to allocate it first using OCINewDescriptor() function. See also the OCIBindByName() function.

Example 1. OCIDefineByName
    <?php
    /* OCIDefineByPos example thies@thieso.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);
    ?>

Prev | Home | Next
Oracle 8 functions | Up | OCIBindByName