[PostGreSQL] problème sur une fonction avec connexion
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:
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.