Tanto quanto me lembro, você deve especificar
type
e maxlength
para oci_bind_by_name()
para variáveis retornadas do procedimento. Assumindo
:r
é o OUT
variável, tente:oci_bind_by_name($stid, ":r", $r, 50, SQLT_CHR);
O código a seguir funciona para retornar um valor de um procedimento Oracle (Zend_Db_Adapter_Oracle versão):
$statement = $db->prepare('BEGIN oracle_procedure(:result); END;');
$statement->bindParam('result', $result, SQLT_CHR, 12);
$statement->execute();
echo $result;