Jointure ne marche pas

Mac11 Messages postés 158 Statut Membre -  
Mac11 Messages postés 158 Statut Membre -
Bonsoir tout le monde,

J'ai un petit souci, ma jointure ne fonctionne pas je voudrais savoir pourquoi et comment faire pour qu'elle fonctionne. Merci d'avance pour votre aide. Voici le code

<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=tests', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT jeux_video.nom, proprietaires.prenom
FROM proprietaires, jeux_video
WHERE jeux_video.ID_proprietaire = proprietaire.ID');
while ($donnees = $reponse->fetch())
{
echo $donnees;
}

$reponse->closeCursor();
?>

4 réponses

  1. Doctor C Messages postés 630 Date d'inscription   Statut Membre Dernière intervention   400
     
    Ta table propriétaires est au pluriel dans ton SELECT et ton FROM mais au singulier dans ton WHERE.

    Il faudrait que tu l'écrives au pluriel dans ton WHERE.

    SELECT jeux_video.nom, proprietaires.prenom
    FROM proprietaires, jeux_video
    WHERE jeux_video.ID_proprietaire = proprietaires.ID
    1
  2. tryan44 Messages postés 1289 Date d'inscription   Statut Membre Dernière intervention   220
     
    Salut,

    En même temps, je ne vois pas de jointure dans votre requête (sauf si je me plante).
    Il devrait y avoir au moins un JOIN (pas celui que l'on fume ^^) quelque part.
    0
    1. Utilisateur anonyme
       
      Si si, c'est bien une jointure
      Et le JOINT qu'on fume prend un T, pas de risque de confusion ^^
      0
    2. tryan44 Messages postés 1289 Date d'inscription   Statut Membre Dernière intervention   220
       
      Autant pour moi, je me suis planté :).
      0
  3. Utilisateur anonyme
     
    Bonjour

    echo $donnees; t'affiche dans le meilleur des cas "Array" car fetch te rend un tableau.
    Il faut afficher $donnees['nom'] et $donnees['prenom'] ou faire un print_r($donnees)
    0
  4. Mac11 Messages postés 158 Statut Membre 12
     
    Merci Doctor C et Le père pour vos explications vraiment très clair : le problème est résolu.

    Tryan44, c'est vrai que ma jointure est un peu obsolète, qu'il ne faudrait plus l'écrire avec WHERE mais avec JOIN. Ceci dit, elle fonctionne quand même : à condition de bien écrire le code.
    0