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

Doctor C Messages postés 648 Statut Membre 399
 
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
tryan44 Messages postés 1381 Statut Membre 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
Utilisateur anonyme
 
Si si, c'est bien une jointure
Et le JOINT qu'on fume prend un T, pas de risque de confusion ^^
0
tryan44 Messages postés 1381 Statut Membre 220
 
Autant pour moi, je me suis planté :).
0
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
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