Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment appeler un package à partir de php ayant une procédure dans oracle à l'aide de pilotes oci?

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;