PHP Mysql : Problème sur des jointures de tables avec champs portant le même nom [Résolu]

Signaler
Messages postés
21
Date d'inscription
vendredi 13 décembre 2019
Statut
Membre
Dernière intervention
3 janvier 2020
-
Jules_2569
Messages postés
21
Date d'inscription
vendredi 13 décembre 2019
Statut
Membre
Dernière intervention
3 janvier 2020
-
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

Messages postés
27933
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
28 janvier 2020
5 874
Bonjour,

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

Messages postés
21
Date d'inscription
vendredi 13 décembre 2019
Statut
Membre
Dernière intervention
3 janvier 2020

Merci