par
AB » 29 juin 2012, 18:10
C'est parce que tu utilise l'opérateur "*" qui ramène tous les champs et comme tu apelle deux tables et que certain champs (apparemment l'id) sont commun, cela crée l'ambiguïté. Il ne faut donc pas utiliser * mais nommer explicitement les champs que tu veux retourner et utiliser les allias si tu as besoin de retourner les champs de même nom dans différentes tables :
$query = "select
table1.id as idt1,
table2.id as idt2
FROM ...
$result = mysql_query($query);
$ressource = mysql_fetch_assoc($result);
et tu récupère donc $ressource['idt1'] et $ressource['idt2']
C'est parce que tu utilise l'opérateur "*" qui ramène tous les champs et comme tu apelle deux tables et que certain champs (apparemment l'id) sont commun, cela crée l'ambiguïté. Il ne faut donc pas utiliser * mais nommer explicitement les champs que tu veux retourner et utiliser les allias si tu as besoin de retourner les champs de même nom dans différentes tables :
$query = "select
table1.id as idt1,
table2.id as idt2
FROM ...
$result = mysql_query($query);
$ressource = mysql_fetch_assoc($result);
et tu récupère donc $ressource['idt1'] et $ressource['idt2']