PHP Mysql : Problème sur des jointures de tables avec champs portant le même nom

Résolu/Fermé
Jules_2569
Messages postés
52
Date d'inscription
vendredi 13 décembre 2019
Statut
Membre
Dernière intervention
28 juillet 2020
- 17 déc. 2019 à 16:12
Jules_2569
Messages postés
52
Date d'inscription
vendredi 13 décembre 2019
Statut
Membre
Dernière intervention
28 juillet 2020
- 17 déc. 2019 à 17:00
Bonjour,

Je vous explique ma problématique.

J'ai trois tables avec plusieurs champs dont 1 champs est présent sur les 3 tables.
id_user

Mes 3 tables sont dons liés par l'id_user

	$reponse = $db->query('SELECT * FROM invoice  
       LEFT JOIN utilisateurs ON (invoice.id_user=utilisateurs.id_user) 
       LEFT JOIN statut ON (invoice.id_user=statut.id_user) 

       WHERE  type=1 AND (statut_type=1 OR statut_type=2)    AND   id_user ='     .$_SESSION['id_user'].'  group by id_invoice DESC  ');



J'ai ce message d'erreur


integrity constant violation: 1052 Column 'id_user' in where clause is ambiguous



Certes c'est ambigu d'avoir plusieurs fois le même nom dans des tables, mais du moment ou ont précise le nom des tables auxquels ils appartiennent, il devrait les différencier.

Je pourrais renommer mes 2 autres champs s'il n'est pas possible de les utiliser comme ça.
Merci d'avance

2 réponses

jee pee
Messages postés
35677
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
19 août 2022
8 775
Modifié le 17 déc. 2019 à 16:22
Bonjour,

l'anomalie est sur le WHERE
AND   id_user =
, il faudrait
AND   invoice.id_user=
.

2
Jules_2569
Messages postés
52
Date d'inscription
vendredi 13 décembre 2019
Statut
Membre
Dernière intervention
28 juillet 2020

17 déc. 2019 à 17:00
Merci
0