Bonjour,
Ça fait 2 jours que je cherche en vain. J'ai un problème car je ne sais par comment appeler un champ par son nom sur une table précise alors que deux de mes tables ont un champ avec ce même nom. Je m'explique :
J'ai 3 tables : pro_mbr, pro_stt et pro_cmn. Les 2 dernières tables ont chacune un champ nom.
Ce code me renvoie bien une valeur, mais il s'agit du champs nom qui est dans la table pro_cmn, or moi je veux celui qui est dans la table pro_stt !
Je me doute bien qu'il faut préciser la table mais je ne sais pas comment faire. J'ai essayé :
J'ai aussi tenté d'utiliser les alias, d'enlever les apostrophes, de les remplacer par " ou `, rien ne fonctionne...
Bien sûr je pourrait changer le * de la requête par des table.champ ou même changer le MYSQLI_ASSOC par MYSQLI_NUM et utiliser les index numérotés, mais la base a énormément de champs et d'autres pourraient s'ajouter (pas forcement à la fin), je voudrais vraiment appeler les champs par leurs noms. Comment faire ?
Merci.
Modifié par AlohaThomas (03 Jul 2014 - 12:41)
Ça fait 2 jours que je cherche en vain. J'ai un problème car je ne sais par comment appeler un champ par son nom sur une table précise alors que deux de mes tables ont un champ avec ce même nom. Je m'explique :
J'ai 3 tables : pro_mbr, pro_stt et pro_cmn. Les 2 dernières tables ont chacune un champ nom.
$ReqMBR = MYSQLI_QUERY ($BDD,
"SELECT * FROM `pro_mbr`
INNER JOIN `pro_stt` ON `pro_mbr`.`str_stt` = `pro_stt`.`stt`
INNER JOIN `pro_cmn` ON `pro_mbr`.`geo_cmn` = `pro_cmn`.`cmn`
ORDER BY `pro_mbr`.`dat_mdf` DESC LIMIT 0 , 5"
) OR DIE (MYSQLI_ERROR ($BDD));
WHILE ($ResMBR = MYSQLI_FETCH_ARRAY ($ReqMBR, MYSQLI_ASSOC)) {ECHO $ResMBR['nom'];}
Ce code me renvoie bien une valeur, mais il s'agit du champs nom qui est dans la table pro_cmn, or moi je veux celui qui est dans la table pro_stt !
Je me doute bien qu'il faut préciser la table mais je ne sais pas comment faire. J'ai essayé :
ECHO $ResMBR['pro_stt.nom'];
ECHO $ResMBR['pro_stt']['nom'];
ECHO $ResMBR['pro_stt'].['nom'];
J'ai aussi tenté d'utiliser les alias, d'enlever les apostrophes, de les remplacer par " ou `, rien ne fonctionne...
Bien sûr je pourrait changer le * de la requête par des table.champ ou même changer le MYSQLI_ASSOC par MYSQLI_NUM et utiliser les index numérotés, mais la base a énormément de champs et d'autres pourraient s'ajouter (pas forcement à la fin), je voudrais vraiment appeler les champs par leurs noms. Comment faire ?
Merci.
Modifié par AlohaThomas (03 Jul 2014 - 12:41)