Jointure ne marche pas

Fermé
Mac11 Messages postés 146 Date d'inscription samedi 15 juin 2013 Statut Membre Dernière intervention 6 novembre 2020 - 12 nov. 2013 à 17:50
Mac11 Messages postés 146 Date d'inscription samedi 15 juin 2013 Statut Membre Dernière intervention 6 novembre 2020 - 13 nov. 2013 à 18:08
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 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
12 nov. 2013 à 22:01
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 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
12 nov. 2013 à 20:44
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
12 nov. 2013 à 21:11
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 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
13 nov. 2013 à 08:42
Autant pour moi, je me suis planté :).
0
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 146 Date d'inscription samedi 15 juin 2013 Statut Membre Dernière intervention 6 novembre 2020 12
13 nov. 2013 à 18:08
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