Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & SQL-Server
PHP & SQL-Server Forum d'entraide sur SQL-Server avec PHP. Avant de poster -> FAQ SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/05/2006, 22h30   #1
Nouveau Membre du Club
 
Inscription : février 2006
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 197
Points : 31
Points : 31
Par défaut Execution d'une procedure stockée SQL Serveur depuis PHP.

Bonsoir,

J'ai crée une procedure stockée dans SQL Serveur. C'est un Select * ...

Lorsque j'appelle ma procédure stockée dans Entreprise Manager, ca marche nickel.

Le probleme est pour l'appeler depuis PHP.

J'ai fait :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$marque_id=$_GET['marque'];
$famille_id=$_GET['famille'];
$s_famille_id=$_GET['s_famille'];
 
// Initilisation de la procédure stockée.
$req_preview = mssql_init("listing_produits",$sqlconnect);
 
// Initilisation des variables.
mssql_bind($req_preview, "@marque_id",$marque_id,SQLINT1);
mssql_bind($req_preview, "@limite_stock",$limite_stock,SQLINT1);
mssql_bind($req_preview, "@famille_id",$famille_id,SQLINT1);
mssql_bind($req_preview, "@s_famille_id",$s_famille_id,SQLINT1);
 
// Recuperer les resultats.
 
// ICI JE CALLE, il faut mssql_bind mais apres :(
 
$result_preview=mssql_query($req_preview);
Si qqu a une idée. MERCI.
gregb34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 23h10   #2
Membre expérimenté
 
Développeur Web
Inscription : avril 2006
Messages : 430
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 430
Points : 538
Points : 538
Salut,

voilà ton bonheur >>> ici

++
bkill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 23h17   #3
Nouveau Membre du Club
 
Inscription : février 2006
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 197
Points : 31
Points : 31
J'avais deja lu tout l'article. Mais dans les exemples il y a toujours 1 seul resultat donc forcement, c'est facil de le recup et puis de le sortir dans une variable d'output.

Mon probleme c'est que j'ai un nombre inconnu de resultat.

La procedure stockée qui marche dans ENTREPRISE MANAGER :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE PROCEDURE listing_produits
    @marque_id INTEGER,
    @limite_stock INTEGER,
    @famille_id INTEGER,
    @s_famille_id INTEGER
 AS
    SELECT *,marque_nom
    FROM xx_articles,xx_marques
              WHERE article_sommeil=0
    AND article_marque_id=marque_id
              AND (article_stock>=@limite_stock)
              AND article_marque_id=@marque_id
              AND article_famille_id=@famille_id
    AND article_s_famille_id=@s_famille_id
GO
gregb34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 23h35   #4
Membre éprouvé
 
Inscription : février 2004
Messages : 456
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 456
Points : 428
Points : 428
Salut,

c'est mssql_next_result().

a+
billoum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 23h40   #5
Nouveau Membre du Club
 
Inscription : février 2006
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 197
Points : 31
Points : 31
haaa, je pense que ca va m'aider mais je crois qu'il va falloir que je detaille ce que je veux recuperer car le *, il va pas aimer, j'ai l'impression, mais si quand je l'execute depuis l'entreprise manager ca marche nickel.
C'est fait faire quand meme qq modifs de passer de requetes "simples" a des procédures stockées
gregb34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2006, 01h06   #6
Nouveau Membre du Club
 
Inscription : février 2006
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 197
Points : 31
Points : 31
Bon bein en fait c'est vraiment debile!

Voila la solution, il y avait pas a gérer les resultats en OUTPUT ou quoi que ce soit. j'avais laisser le mssqu_query() alors que s'etait mssql_execute()

Au final ca donne :

$marque_id=$_GET['marque'];
$famille_id=$_GET['famille'];
$s_famille_id=$_GET['s_famille'];

// Initilisation de la procédure stockée.
$req_preview = mssql_init("listing_produits",$sqlconnect);

// Initilisation des variables.
mssql_bind($req_preview, "@marque_id",$marque_id,SQLINT1);
mssql_bind($req_preview, "@limite_stock",$limite_stock,SQLINT1);
mssql_bind($req_preview, "@famille_id",$famille_id,SQLINT1);
mssql_bind($req_preview, "@s_famille_id",$s_famille_id,SQLINT1);

$result_preview=mssql_query($req_preview);

// ICI on traite le result
gregb34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h19.


 
 
 
 
Partenaires

Hébergement Web