Jointure ne marche pas
Mac11
Messages postés
158
Statut
Membre
-
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();
?>
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
-
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 -
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.-
Si si, c'est bien une jointure
Et le JOINT qu'on fume prend un T, pas de risque de confusion ^^ -
-
-
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) -
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.