PHP Oracle Ref Cursor - PullRequest
       16

PHP Oracle Ref Cursor

0 голосов
/ 26 октября 2009

Хорошо, я новичок в коннекторах PHP / Oracle. То, что я пытаюсь сделать, это вызвать простую хранимую процедуру, которая принимает номер идентификатора и возвращает значение. Он отлично работает, если есть совпадение, но я не могу понять, как добавить условную логику, если нет совпадения. Обычно, если есть совпадение, установите для него $ стратегии, если нет совпадения, установите для $ стратегии значение NULL.

$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);

1 Ответ

0 голосов
/ 27 октября 2009

Как насчет

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