Jointure ne marche pas

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. 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.
    1. Si si, c'est bien une jointure
      Et le JOINT qu'on fume prend un T, pas de risque de confusion ^^
    2. Autant pour moi, je me suis planté :).
  2. 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)
    1. 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. 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.