PHP kézikönyv
Előző |  | Következő

# OCINewCursor

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

OCINewCursor -- Új kurzor (parancs eredmény kezelő) megnyitása

## Leírás

int OCINewCursor ( int conn )

Az OCINewCursor() egy új eredménytábla kezelő kurzort nyit meg a megadott kapcsolaton.

Példa 1. REF CURSOR használata egy tárolt eljárásból

    <?php
    // feltesszük, hogy az info.kimenet tárolt eljárásod egy "ref cursor"-t
    // ad vissza az :adat-ban

    $conn = OCILogon("scott","tiger");
    $kurzor = OCINewCursor($conn);
    $stmt = OCIParse($conn,"begin info.kimenet(:adat); end;");

    ocibindbyname($stmt,"adat", &$kurzor, -1, OCI_B_CURSOR);
    ociexecute($stmt);
    ociexecute($kurzor);

    while (OCIFetchInto($kurzor, &$adat)) {
        var_dump($adat);
    }

    OCIFreeStatement($stmt);
    OCIFreeCursor($kurzor);
    OCILogoff($conn);
    ?>

Példa 2. REF CURSOR használata select parancsban

    <?php
    print "<HTML><BODY>";
    $conn = OCILogon("scott","tiger");
    $szamlalo_kurzor =
        "CURSOR(select count(dolgozoid) dolgozo_szam from dolgozok " .
        "where dolgozok.reszleg = reszleg.reszlegid) as DSZAM from reszleg";
    $stmt = OCIParse($conn,"select reszlegid,rnev,$szamlalo_kurzor");

    ociexecute($stmt);
    print "<TABLE BORDER=\"1\">";
    print "<TR>";
    print "<TH>RÉSZLEG NÉV</TH>";
    print "<TH>RÉSZLEG SZÁM</TH>";
    print "<TH>DOLGOZÓK SZÁMA</TH>";
    print "</TR>";

    while (OCIFetchInto($stmt, &$adat, OCI_ASSOC)) {
        print "<TR>";
        $rnev  = $adat["RNEV"];
        $rszam = $adat["RESZLEGID"];
        print "<TD>$rnev</TD>";
        print "<TD>$rszam</TD>";
        ociexecute($adat["DSZAM"]);
        while (OCIFetchInto($adat["DSZAM"], &$reszadat, OCI_ASSOC)) {
            $dszam = $reszadat["DOLGOZO_SZAM"];
            print  "<TD>$dszam</TD>";
        }
        print "</TR>";
    }
    print "</TABLE>";
    print "</BODY></HTML>";
    OCIFreeStatement($stmt);
    OCILogoff($conn);
    ?>

Előző | Tartalom | Következő
OCINewCollection | Fel | OCINewDescriptor