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

PHP & Base de données Discussion :

pdo prepare et jointure [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut pdo prepare et jointure
    Bonjour

    je prepare une jointure comme ceci.sur une de mes pages cela fonctionne sans probleme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $affich_equipe=$bdd->prepare("SELECT idinter,nom_inter, prenom_inter,fonction, fonction_presta, 
    	mail, tel, photo,idprod, date_embauche, date_debauche, titre_prod, note, prix, heure_modif 
    	FROM prod_intermittents
    	INNER JOIN  intermittents ON  idinter=inter_id
    	INNER JOIN prod ON id_prod=idprod
    	WHERE id_prod=? 
    	ORDER BY heure_modif,nom_inter");
    sur une de mes pages cela fonctionne sans probleme avec le code suivant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $affich_equipe->execute(array($_POST['idprod']));
    $intermittent = new intermittent();
    $prod= new prod();
    while ($listeinter = $affich_equipe->fetch()):
     
             $intermittent->hydrate($listeinter);
           $prod->hydrate($listeinter);
    Je veux réutiliser cette jointure sur une autre page comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $affich_equipe2->execute(array($_GET['nb'])); 
    $donnes = $affich_equipe2->fetch();
    $intermittent = new intermittent();
    $prod=new prod();
    $prod->hydrate($donnes);
    j'ai l'erreur suivante
    Argument 1 passed to prod::hydrate() must be of the type array, boolean given, called
    alors que si j'utilise cette requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $affich_equipe2=$bdd->prepare("SELECT * FROM prod WHERE id_prod=? ");
    je n'ai pas d'erreur

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 383
    Points : 10 411
    Points
    10 411
    Par défaut
    Salut,

    As-tu vérifié $_GET['nb'] ?

    Dans le premier code tu conditionnes l'exécution de la suite du code à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($listeinter = $affich_equipe->fetch())
    Dans le second cas tu ne conditionne rien. Pour avoir l'équivalent il faudrait faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ($donnes = $affich_equipe2->fetch())
    {
        $intermittent = new intermittent();
        $prod=new prod();
        $prod->hydrate($donnes);
    }

  3. #3
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut
    Merci ABCIWEB. ton regard sur le while non répété, m'a fait revoir ma jointure, je ne suis pas exactement dans la même cas que précédemment elle ne pouvait pas fonctionner.

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

Discussions similaires

  1. [PDO] $pdo->prepare et paramètre order
    Par slayess dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 26/02/2012, 11h09
  2. [PDO] PDO prepared statements avec "ORDER BY"
    Par Ashlin dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 19/02/2012, 21h40
  3. [PDO] PDO prepare et execute
    Par dorian53 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/10/2010, 16h53
  4. [PDO] PDO prepare et échappement
    Par Bibicmoi dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/07/2010, 16h15

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