2009-10-26 5 views
0

Хорошо, я новичок в интерфейсах PHP/Oracle. То, что я пытаюсь сделать, это вызвать простую хранимую процедуру, которая принимает номер идентификатора и возвращает значение. Он отлично работает, если есть совпадение, но я не могу за всю жизнь понять, как добавить условную логику, если нет совпадения. В принципе, если есть совпадение, установите для него $ strategy, если нет совпадения, установите для $ strategy значение 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); 

ответ

0

Как насчет

$strategy = null; 
if ($entry = oci_fetch_array($entries)) { 
    $strategy = $entry['STRATEGY'];  
} 
Смежные вопросы