Update mysql avec jointure sur deux tables.
Aurél_ien
-
Aurél_ien -
Aurél_ien -
Bonjour,
J'ai deux tables (administrateur et utilisateur) dans ma base de donnée mysql. J'aimerai pouvoir faire en sorte qu'un utilisateur puisse modifier son mot de passe selon si il est administrateur ou utilisateur sans lui demandé dans quelle tables il se "situe" .
J'ai réussi a faire une vérification de mot de passe sur ces deux tables sans demandé à la personne sans lui demandé si il est utilisateur ou administrateur grâce a la fonction:
$sql = "SELECT password, 1 as admin FROM administrateur WHERE prenom = '$prenom' AND nom = '$nom' UNION ALL SELECT password, 0 FROM utilisateur WHERE prenom = '$prenom' AND nom = '$nom' ;";
J'avais donc pensé a faire pour la modification de mot de passe une fonction update comme-ceci:
$sql = "UPDATE administrateur UNION utilisateur SET password = '$newpassword' WHERE prenom = '$prenom' AND nom = '$nom' AND email = '$email';";
mais cela ne marche pas. J'ai essayé de créer des allias comme avec le select mais cela ne marche pas non plus.
Pouvez-vous m'aidez ? Merci pour vos ®éponse :D.
J'ai deux tables (administrateur et utilisateur) dans ma base de donnée mysql. J'aimerai pouvoir faire en sorte qu'un utilisateur puisse modifier son mot de passe selon si il est administrateur ou utilisateur sans lui demandé dans quelle tables il se "situe" .
J'ai réussi a faire une vérification de mot de passe sur ces deux tables sans demandé à la personne sans lui demandé si il est utilisateur ou administrateur grâce a la fonction:
$sql = "SELECT password, 1 as admin FROM administrateur WHERE prenom = '$prenom' AND nom = '$nom' UNION ALL SELECT password, 0 FROM utilisateur WHERE prenom = '$prenom' AND nom = '$nom' ;";
J'avais donc pensé a faire pour la modification de mot de passe une fonction update comme-ceci:
$sql = "UPDATE administrateur UNION utilisateur SET password = '$newpassword' WHERE prenom = '$prenom' AND nom = '$nom' AND email = '$email';";
mais cela ne marche pas. J'ai essayé de créer des allias comme avec le select mais cela ne marche pas non plus.
Pouvez-vous m'aidez ? Merci pour vos ®éponse :D.
A voir également:
- Update mysql avec jointure sur deux tables.
- Windows update bloqué - Guide
- Comment faire deux colonnes sur word - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Deux ecran pc - Guide
2 réponses
Tu dois d'abord faire un SELECT ou alors faire deux UPDATE (un dans la table utilisateur, un autre dans administrateur. Mais ça reste une très mauvaise structure.
pourquoi ne pas faire plutot 2 table une avec login, pass, email et type(admin ou user) et la seconde avec le reste des données + l'id de la première comme cela tu n'as qu'une table pour la recherche et tu peux faire le tri ensuite sur type admin ou type utilisateur.
Certes cela aurait été beaucoup plus simple mais effectivement je ne dois pas faire la distinction avec un type ( utilisateur ou administrateur) la est toute la difficulté, j'avais pensé a faire un update selon la forme de mon select mais je vois pas la structure ni la maniere de l'écrire enfin quand j'essaye une instruction qui me parait correct cela de ne marche évidement pas ^^ sinon ca serait trop facile x)
Merci :)