2009-10-26 6 views
0

D'accord, je suis nouveau pour les connecteurs PHP/Oracle. Ce que j'essaie de faire est d'appeler une procédure stockée simple qui accepte un numéro d'identification et renvoie une valeur. Cela fonctionne bien s'il y a une correspondance, mais je ne peux pas pour la vie de moi comprendre comment ajouter une logique conditionnelle s'il n'y a pas de correspondance. Fondamentalement, s'il y a une correspondance, définissez $ strategy, s'il n'y a pas de correspondance, définissez $ strategy comme étant NULL.PHP Oracle Ref Cursor

$sql = 'BEGIN STOREDPROCEDURENAME(:v_id_number, :entries); END;'; 

$stmt = oci_parse($conn, $sql); 

oci_bind_by_name($stmt,':v_id_number',$id_number,32); 

// Create a new cursor resource 
$entries = oci_new_cursor($conn); 

// Bind the cursor resource to the Oracle argument 
oci_bind_by_name($stmt,":entries",$entries,-1,OCI_B_CURSOR); 

// Execute the statement 
oci_execute($stmt); 

// Execute the cursor 
oci_execute($entries); 

while ($entry = oci_fetch_array($entries)) { 
     $strategy = $entry['STRATEGY']; 
    } 

oci_close($conn); 

Répondre

0

Que diriez-vous

$strategy = null; 
if ($entry = oci_fetch_array($entries)) { 
    $strategy = $entry['STRATEGY'];  
}