Bonjour à tous,
j'ai un petit problème avec une fonction que j'ai développée en PHP.
cette fonction est appelé par un client SOAP

mais le problème est que je n'arrive pas à interroger ma base de données depuis l'intérieur de la fonction.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 
function neworderretailer($params) 
	{
 
     //recupération de paramètres reçus:
     $peOrderitems = $params->peOrderitems;
     $peProductorid = $params->peProductorid;
     $idprod = $peOrderitems->idprod;
     $quantite = $peOrderitems->quantite;
     $peSignature=$params->peSignature;
 
     //INSERTION DE LA COMMANDE DANS LA TABLE COMMANDES
 
     //1.-RECUPERER LE CODE DE NOUVELLE COMMANDE DU DETAILLANT "retailerid"
 
		$query="SELECT nextval('numcommande')";
		$result=pg_query($db_conn,$query);
		$numAuto = pg_fetch_result($result,0,0);
		//on stocke la valeur que l'on retournera s'il n'y a pas d'erreur
 
 
		if (!$result) {
  		// "Une erreur s'est produite.\n";
  		$resultat=array('result' => 0);
                }
                else
                 {
                   $resultat = array('result' => $numAuto);
                 }
 
 
		//2.- RECUPERER LA CLE PRIMAIRE DU PRODUCTEUR POUR LA CLE ETRANGERE DE LA COMMANDE
		$query='SELECT "CODE" FROM "PRODUCTEUR" WHERE "LIBELLE"='."'ESNE'";
		$result1=pg_query($db_conn,$query);
		$Productorid = pg_fetch_result($result1,0,0);
		if (!$result1) {
  		// "Une erreur s'est produite.\n";
  		$resultat=array('result' => 1);}
 
		//3.-RECUPERER LA CLE PRIMAIRE DU PRODUIT POUR LA CLE ETRANGERE DE LA COMMANDE
 
		//$query='SELECT "NUMERO" FROM "PRODUIT" WHERE "CODE"='.$idprod;
		$query='SELECT "NUMERO" FROM "PRODUIT" WHERE "CODE"=9003';
		$result2=pg_query($db_conn,$query);
		$numproduit = pg_fetch_result($result2,0,0);
		if (!$result2) {
  		// "Une erreur s'est produite.\n";
  		$resultat=array('result' => 2);}
 
		//UNE FOIS TOUTES LES DONNEES REUNIES, NOUS POUVONS REMPLIR LA TABLE COMMANDE
		$query='INSERT INTO COMMANDE (NUMERO, SIGNATURE, NUM_PRODUCTEUR) VALUES (''.$numAuto.'',''.$peSignature.'',''.$Productorid.'')';
		$result=pg_query($db_conn,$query);
		if (!$result) {
  		// "Une erreur s'est produite.\n";
  		$resultat=array('result' => 3);}
		//CREATION D'UNE LIGNE DE COMMANDE
		$query='INSERT INTO LIGNECOMMANDE ( QUANTITE, NUM_COMMANDE, NUM_PRODUIT) VALUES (''.$quantite.'',''.$numAuto.'',''.$numproduit.'')';
		$result=pg_query($db_conn,$query);
		if (!$result) {
  		// "Une erreur s'est produite.\n";
  		$resultat=array('result' => 4);}
 
         // retourner un identifiant unique pour la commande//
 	 //si $resultat =0 alors erreur!
 
     return array('result' =>$numAuto.','.$Productorid.','.$numproduit);
 
	}
voilà
ma fonction devrait me retourner les paramètres que j'ai demandé à la BD mais elle ne me retourne rien

par contre j'ai essayé de faire la même chose dans un simple fichier php, sans passer par une fonction et cela fonctionne correctement.

qq aurait une idée??

Merci d'avance!

PS: les fichier de connexion et déconnexion respectives fonctionnent correctement.