J'essaie de faire correspondre un "userTypeId" dans la table "users" à son "id" correspondant dans la table "userRoles" afin que je puisse faire écho le "roleName", également dans "userRoles".Qu'est-ce qui ne va pas avec ce JOIN?
Voici les tableaux:
userRoles
---------------------
id roleName
1 superuser
2 admin
3 editor
4 author
5 contributor
6 subscriber
users
---------------------
id userName userTypeId
1 heyjohnmurray 1
2 admin 2
J'ai essayé cette requête et chaque fois que je vérifie, il fait écho à "WRONG"
$roleQuery = "SELECT id, roleName, userTypeId FROM userRoles JOIN users ON id=userTypeId";
$roleResult = mysqli_query($dbconnect, $roleQuery);
if(!$roleResult){
echo 'WRONG';
} else {
echo 'RIGHT';
}
alors même si je ne sélectionne pas intentionnellement l'identifiant dans "users" j'ai encore besoin de l'alias pour clarifier que je suis seulement intéressé par l'id "userRoles" et non l'id "users"? – heyjohnmurray
en fait la raison principale est que vous avez une collision de nom, je recommande d'utiliser l'alias afin que vous puissiez spécifier le nom de la colonne avec l'alias de la table. Quoi qu'il en soit, l'alias est facultatif, vous pouvez toujours utiliser le nom de table complet 'userRoles.id = users.userTypeId' –
merci beaucoup de répondre à cette question d'un débutant. c'est grandement apprécié. – heyjohnmurray