Bonjour à tous et à toutes,

J'ai créé une fonction oracle qui me retourne un résultat.
Lorsque je teste cette fonction dans le terminal Oracle au travers du PL/SQL elle fonctionne parfaitement bien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Declare
  p1 number ;
Begin
  p1 := GD_FUNC_AJOUT_DEMANDE('3','28/02/07','','','','','','','','','','','','','','','','','','');
  DBMS_OUTPUT.PUT_LINE(p1);
End ;
Le terminal me retoune :
anonymous block completed
43
43 est le bon résultat donc c'est OK !

Par contre, je souhaite obtenir ce résultat dans mon code PHP mais je n'y parviens pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
$query = "Declare p1 number ; begin p1 := GD_FUNC_AJOUT_DEMANDE('3','28/02/07','','','','','','','','','','','','','','','','','',''); DBMS_OUTPUT.PUT_LINE(p1); End ;";
	$stid = OCIParse($Connect_DB, $query);
	OCIExecute($stid);
	while ($res = oci_fetch_row($stid)) {
		$NB=$Row[0];
	}
	print ("ID = $NB");
PHP me retourne :

Warning: oci_fetch_row() [function.oci-fetch-row]: ORA-24374: définition non exécutée après extraction ou exécution et extraction in C:\Program Files\Apache Software ...
Si quelqu'un sait comment je peux récupérer mon résultat je suis preneur !

Pour info j'utilise PHP 5.x et ORACLE XE.
Mes autres requêtes SQL standard (ordre select ou update ...) fonctionnent parfaitement bien avec PHP.

D'avance merci,
Alex01