Per quanto mi ricordo devi specificare type
e maxlength
a oci_bind_by_name()
per le variabili restituite dalla procedura.
Assumendo :r
è il OUT
variabile, prova:
oci_bind_by_name($stid, ":r", $r, 50, SQLT_CHR);
Il codice seguente funziona per restituire un valore da una procedura Oracle (Zend_Db_Adapter_Oracle versione):
$statement = $db->prepare('BEGIN oracle_procedure(:result); END;');
$statement->bindParam('result', $result, SQLT_CHR, 12);
$statement->execute();
echo $result;