par
Ryle » 21 juil. 2011, 19:06
C'est parce que ta requête sql est erronée, du coup il n'arrive pas à l'exécuter, et donc ne peut pas traiter le résultat de la requête. Dans ces cas là, tu peux utiliser mysql_error() pour savoir s'il n'y a pas eu un problème lors de l'exécution de la requête par mysql.
Dans ton cas, je suppose que le champ Adresse_Email est présent dans tes deux tables, et du coup mysql ne sait pas auquel des deux tu fait référence...
Dans ces cas là, il suffit de préfixer le nom du champ par le nom de la table concernée, ex : "comptes_utilisateurs.Adresse_Email" MySQL saura ainsi que tu fais référence au champ Adresse_Email de la table comptes_utilisateurs et pas à un autre.
Il faudrait donc dans ton cas une requête qui test : si l'email se trouve dans la table des profs OU si l'email se trouve dans la table des élèves (WHERE ... OR ...)
A noter cependant que cette méthode est loin d'être optimisée, dans la mesure où tu croises les données de deux tables qui ne sont pas liées. MySQL va donc effectuer un produit cartésien en mélangeant les deux tables (au premier prof associer tous les élèves, au second prof associer tous les élèves, ...) et traiter beaucoup plus d'enregistrements qu'il ne le devrait.
En gros pour 10 profs et 40 élèves, au lieu de traiter 10 enregistrements chez les profs et 40 chez les élèves, il va en tester 400.
C'est parce que ta requête sql est erronée, du coup il n'arrive pas à l'exécuter, et donc ne peut pas traiter le résultat de la requête. Dans ces cas là, tu peux utiliser mysql_error() pour savoir s'il n'y a pas eu un problème lors de l'exécution de la requête par mysql.
Dans ton cas, je suppose que le champ Adresse_Email est présent dans tes deux tables, et du coup mysql ne sait pas auquel des deux tu fait référence...
Dans ces cas là, il suffit de préfixer le nom du champ par le nom de la table concernée, ex : "comptes_utilisateurs.Adresse_Email" MySQL saura ainsi que tu fais référence au champ Adresse_Email de la table comptes_utilisateurs et pas à un autre.
Il faudrait donc dans ton cas une requête qui test : si l'email se trouve dans la table des profs OU si l'email se trouve dans la table des élèves (WHERE ... OR ...)
A noter cependant que cette méthode est loin d'être optimisée, dans la mesure où tu croises les données de deux tables qui ne sont pas liées. MySQL va donc effectuer un produit cartésien en mélangeant les deux tables (au premier prof associer tous les élèves, au second prof associer tous les élèves, ...) et traiter beaucoup plus d'enregistrements qu'il ne le devrait.
En gros pour 10 profs et 40 élèves, au lieu de traiter 10 enregistrements chez les profs et 40 chez les élèves, il va en tester 400.