IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP] Problèmes pour appeller une storeProcedure


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2016
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Septembre 2016
    Messages : 52
    Par défaut [PHP] Problèmes pour appeller une storeProcedure
    Bonjour à vous, j'espère être dans le bon endroit pour poster ceçi :

    Je rencontre des problèmes en suivant les tuto pour appellé une procédure stockée dans MySql via PHP.



    j'ai ceçi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		  // Initialisation de la connection
    		  $this->connection = new PDO( $dns, $utilisateur, $motDePasse, $options );
    qui se trouve dans ma classe "Connection".

    et j'ai également cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	public function callStockProcedure($a,$b,$c,$d,$e,$f,$g)
    	{
    		$query = "CALL updateUser(".$a.",".$b.",".$c.",".$d.",".$e.",".$f.",".$g.")";
     
    		$stmt = mysql_query($this->connection,$query) or die("query fail");
    	}
    j'essaie de bien comprendre les choses et là je bloque sur les messages d'erreurs... Sur les tutos on parle d'utiliser mysql_query, sur d'autre mysqli_query... Je suis à bout lol... Mon message d'erreur est le suivant :

    Uncaught Error: Call to undefined function mysql_query()
    Merci pour votre aide

  2. #2
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    Salut,

    tu as d'un côté PDO ( $this->connection = new PDO ) et ensuite mysql ( mysql_query - qui au passage est obsolète et remplacé par mysqli )

    Si tu initie la connexion en PDO, faut continuer avec PDO : http://php.net/manual/fr/book.pdo.php

    Bonne lecture

  3. #3
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Salut. Et pour démarrer plus facilement en PDO, tu peux suivre le lien de ma signature.

    https://www.developpez.net/forums/bl...pdo-soupe-lit/

    Paragraphe 3 et 7 sont ceux qui s'approchent de ta problématique.

    Maintenant, sur la syntaxe propre aux procédures stockées, regarde le bout de code des exemples 4 et 5 ici :

    http://php.net/manual/fr/pdo.prepared-statements.php
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  4. #4
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2016
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Septembre 2016
    Messages : 52
    Par défaut
    J'ai finalement réussi à appellé ma procédure stockée de cette manière (qui n'est peut être pas forcément la meilleur mais qui marche lol).

    Mais ce détail de (Si tu commence en PDO il faut continuer en PDO)... C'est à dire qu'il y a au final 3 façons différentes d’appelé une procédure stockée dont une est obsolète. Pas facile de distingué cette subtilité quand on débute en autodidacte lol.

    voiçi ce que j'ai finalement fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	public function callStockProcedure($a,$b,$c,$d,$e,$f)
    	{
    		$query = "CALL updateUser(:emp1,:emp2,:emp3,:emp4,:emp5,:emp6)";
    		$statement = $this->connection->prepare($query);
    		$statement->bindValue('emp1', $a);
    		$statement->bindValue('emp2', $b);
    		$statement->bindValue('emp3', $c);
    		$statement->bindValue('emp4', $d);
    		$statement->bindValue('emp5', $e);
    		$statement->bindValue('emp6', $f);
    		$result = $statement->execute();
    	}
    et oui, le $this->connection me renvoi un PDO

    Merci à vous pour vos solutions et d'avoir pris le temps de m'aider !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JSTL] problème pour appeler une autre jsp
    Par forHelp dans le forum Taglibs
    Réponses: 3
    Dernier message: 09/11/2007, 11h16
  2. problème pour appeler une liste de catégorie
    Par minie dans le forum Struts 1
    Réponses: 11
    Dernier message: 29/05/2007, 16h39
  3. Problème pour appeler une méthode d'une autre classe
    Par tse_tilky_moje_imja dans le forum Général Python
    Réponses: 7
    Dernier message: 03/03/2006, 13h33
  4. Réponses: 7
    Dernier message: 10/09/2005, 16h49
  5. [DLL] problème pour appeler une fonction d'une DLL
    Par bigboomshakala dans le forum MFC
    Réponses: 34
    Dernier message: 19/07/2004, 11h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo