Bonjour,

Je rencontre un problème je n'arrive pas à enregistrer un paramètre de sortie d'une fonction dans une base de données Oracle dans une variable. J'ai regardé les logs, ma table d'erreur en base et il n'y a rien.
Est-ce que quelqu'un à une idée ?

Voici la description de la fonction appelée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
FUNCTION FUN_GET_DATEFINFACT(
  p_datedeb IN DATE,
  p_periode  IN NUMBER,
  p_datefin OUT VARCHAR2  )
Et mon appel en PHP :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
$sql = "begin :RESULT := PKG_DATE.FUN_GET_DATEFINFACT(:P_DATEDEB, :P_PERIODE, :P_DATEFIN); end;";
$stid = oci_parse($this->conn, $sql);
//Bind in parameter
$mac_date_debut = date("d/m/Y");
oci_bind_by_name($stid, ':P_DATEDEB', $date_debut); // $date_debut = 08/02/2019
$periodeFact = $row['PERIOD_FACT'];
oci_bind_by_name($stid, ':P_PERIODE', $periodeFact); // $periodeFact = 12
// Bind out parameter
oci_bind_by_name($stid, ':P_DATEFIN', $date_fin_fact, 100);
$this->response(array("IdContrat" => $date_fin_fact), 201); // $date_fin_fact ressort à null
oci_execute($stid, OCI_DEFAULT) or die ("$sql\n");
oci_free_statement($stid);
Merci d'avance pour votre aide