Autant que je me souvienne, vous devez spécifier type
et maxlength
à oci_bind_by_name()
pour les variables renvoyées par la procédure.
En supposant :r
est le OUT
variable, essayez :
oci_bind_by_name($stid, ":r", $r, 50, SQLT_CHR);
Le code suivant fonctionne pour renvoyer une valeur à partir d'une procédure Oracle (Zend_Db_Adapter_Oracle versions):
$statement = $db->prepare('BEGIN oracle_procedure(:result); END;');
$statement->bindParam('result', $result, SQLT_CHR, 12);
$statement->execute();
echo $result;