Manuel PHP
Précédent |  | Suivant

# oci_new_cursor

(PHP 5)

oci_new_cursor -- Alloue un nouveau curseur Oracle

## Description

resource oci_new_cursor ( resource connection )

ocinewcursor() alloue un nouveau pointeur de commande, pour la connexion connection.

Exemple 1. Utiliser un REF CURSOR issu d'une procédure enregistrée
`<?php // supposons que votre procédure stockée info.output retourne un curseur de référence dans :data $conn = oci_connect("scott", "tiger"); $curs = oci_new_cursor($conn); $stmt = oci_parse($conn, "begin info.output(:data); end;"); oci_bind_by_name($stmt, "data", $curs, -1, OCI_B_CURSOR); oci_execute($stmt); oci_execute($curs); while ($data = oci_fetch_row($curs)) { var_dump($data); } oci_free_statement($stmt); oci_free_statement($curs); oci_close($conn); ?>`

Exemple 2. Utiliser un REF CURSOR issu d'une commande SELECT
`<?php echo '<html><body>'; $conn = OCILogon("scott","tiger"); $count_cursor = "CURSOR(select count(empno) num_emps from emp " . "where emp.deptno = dept.deptno) as EMPCNT from dept"; $stmt = OCIParse($conn,"select deptno,dname,$count_cursor"); ociexecute($stmt); echo '<table border="1">'; echo '<tr>'; echo '<th>DEPT NAME</th>'; echo '<th>DEPT #</th>'; echo '<th># EMPLOYEES</th>'; echo '</tr>'; while (OCIFetchInto($stmt,&$data,OCI_ASSOC)) { echo '<tr>'; $dname = $data["DNAME"]; $deptno = $data["DEPTNO"]; echo "<td>$dname</td>"; echo "<td>$deptno</td>"; ociexecute($data["EMPCNT"]); while (OCIFetchInto($data["EMPCNT"],&$subdata,OCI_ASSOC)) { $num_emps = $subdata["NUM_EMPS"]; echo "<td>$num_emps</td>"; } echo '</tr>'; } echo '</table>'; echo '</body></html>'; OCIFreeStatement($stmt); OCILogoff($conn); ?>`

oci_new_cursor() retourne `FALSE` en cas d'erreur.

> Note : Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocinewcursor(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_new_collection(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

Précédent | Sommaire | Suivant
oci_new_connect | Niveau supérieur | oci_new_descriptor