Comment appeler une procedure stockees en PHP et retourner un parametre?

ed1982 Messages postés 14 Date d'inscription samedi 20 août 2005 Statut Membre Dernière intervention 30 août 2007 - 7 août 2007 à 11:41
ed1982 Messages postés 14 Date d'inscription samedi 20 août 2005 Statut Membre Dernière intervention 30 août 2007 - 7 août 2007 à 15:09
Bonjour a tous,


Je voudrai savoir comment appeler une procedure stockee (Mysql) dans ma fonction php. J aimerai savoir comment retourner le parametre de sortie de ma procedure dans mon programme PHP.


Voici ma procedure mysql:


DELIMITER $$


DROP PROCEDURE IF EXISTS `intranet`.`login`$$


CREATE PROCEDURE `intranet`.`login`(in p_pseudo varchar(50), in p_pass varchar(50), out acces varchar(50))


    BEGIN


 select count(*) into acces
  from profil
  where pseudo = p_pseudo
   and mot_de_passe = p_pass;
 
    END$$


DELIMITER ;

celle si renvoit 1 ou 0 dans ma BDD comment retrouver ce parametre dans ma fonction PHP que voici:

<?php
$db_host="localhost"; // PARAMETRES DE LA DB
$db_user="root";
$db_pass="";
$database="intranet";
$user=$_POST ['user_name'];
$password=$_POST ['password'];


//Connection à la BD et sélection de la base "identification"
mysql_connect($db_host,$db_user,$db_pass) or die("Unable to connect to database");
mysql_select_db($database) or die( "Unable to select database");
//Requêtes mySQL pour établir la validation.
//$query = "SELECT * FROM profil WHERE user='$user' AND mot_de_passe='" . md5($password) . "'";


?>

Merci beaucoup pour vos reponses.

5 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
7 août 2007 à 11:56
Hello,

je n'ai peut-être pas bien compris ta question, mais pourquoi ne pas faire simplement qqch qui ressemble à

$result = mysql_query(SELECT procedure)

$procedure = mysqlfetchrow($result)

$result2 = mysql_query($procedure[0])
0
ed1982 Messages postés 14 Date d'inscription samedi 20 août 2005 Statut Membre Dernière intervention 30 août 2007
7 août 2007 à 14:24
Merci Evangun, quand je fais ce que tu me dis,

$result = mysql_query('SELECT login');


$login = mysql_fetch_row($result);


$result2 = mysql_query($login[0]);

un message d erreur apparait quand je le lance dans le navigateur:
Parse error : syntax error, unexpected '.', expecting ')' in C:\wamp\www\connexion\validation.php on line 17

la ligne 17 est celle ci : $login = mysql_fetch_row($result);

Il y a une incompatibilite visiblement. Mon parametre a retourner est un char.

je t avoue que je suis un peu bloque la...
0
ed1982 Messages postés 14 Date d'inscription samedi 20 août 2005 Statut Membre Dernière intervention 30 août 2007
7 août 2007 à 14:25
Merci Evangun, quand je fais ce que tu me dis,

$result = mysql_query('SELECT login');


$login = mysql_fetch_row($result);


$result2 = mysql_query($login[0]);

un message d erreur apparait quand je le lance dans le navigateur:
Parse error : syntax error, unexpected '.', expecting ')' in C:\wamp\www\connexion\validation.php on line 17

la ligne 17 est celle ci : $login = mysql_fetch_row($result);

Il y a une incompatibilite visiblement. Mon parametre a retourner est un char.

je t avoue que je suis un peu bloque la...
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
7 août 2007 à 14:51
Euh, quand tu dis $result = mysql_query('SELECT login'); tu as bien mis une requête correcte ? pas vraiment 'SELECT login' ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ed1982 Messages postés 14 Date d'inscription samedi 20 août 2005 Statut Membre Dernière intervention 30 août 2007
7 août 2007 à 15:09
Oui, j ai remplace 'select login' par ma requete, le probleme c est qu il faut executer la requete avec call et ensuite faire un select pour que le resultat s affiche. je pense que je vais eviter les procedures stockees, ce sera surement plus simple...
0
Rejoignez-nous