Relier deux champs dans une requète sql

Résolu
coolboarder17bzh Messages postés 13 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 août 2005 - 19 juil. 2005 à 08:41
coolboarder17bzh Messages postés 13 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 août 2005 - 19 juil. 2005 à 09:34
salut à tous,



j'aimerais avoir un petit renseignement en ce qui concerne ma page de log et les infos que j'en recupère.



voici mon problème,



j'ai tout d'abord une page de log ou une personne saisie dans une
"text" son nom.prenom (exemple: dupond.pierre) et son mot de passe dans
un "password".

je recupère cela sur ma page php et ensuite je voudrais prendre le mot
de passe qui correspond au nom.prenom avec cette requete sql : le
hic c'est que je ne parviens pas à "relier" nom_user et prenom_user
dans ma requete.



$sql = "select motdepasse_user from user where 'nom_user.prenom_user'='".$recu_login."'"; (en rouge ce qui me pose probleme)



cette requete fonctionne si je saisie uniquement le nom de la personne
et qu'apres le where je mets ceci : ... where
nom_user ='".$recu_login."'";



je vous remercie par avance de vos réponses.

3 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 juil. 2005 à 09:00
Hello,



t'as le choix : CONCAT par exemple...pour le faire directement dans ta requete.



Sinon, tu fais ca hors sql :

$nomPrenom = explode ('.', $_POST['recu_login']);

Et tu auras le nom dans $nomPrenom[0] et le prenom dans $nomPrenom[1]. Il ne te reste plus qu'a faire dans ta requete :

WHERE nom_user LIKE '%$nomPrenom[0]%' AND prenom_user...etc.



Pour CONCAT :

http://dev.mysql.com/doc/mysql/en/string-functions.html



Le plus simple a mon avis.
3
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
19 juil. 2005 à 09:04
je crois que ne comprends pas bien...



dans ta db, tu as un champ nom ET un champ prénom, ou tu a un champs "nom_prenom" qui reprend le nom et le prenom ?



dans le premier cas, tu dois faire WHERE nom="mon_nom" AND prenom = "mon_prenom"



dans le second casn tu dois faire WHERE nom_prenom="mon_nom_prenom".



Je te conseille d'éviter les '.' dans les nom des champs !!!!!
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
coolboarder17bzh Messages postés 13 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 août 2005
19 juil. 2005 à 09:34
merci à vous deux !



problème résolu en moins de 30min



en fait, j'ai utilisé la solution hors sql de malalam et tout va pour le mieux ^^

en effet je compare le nom et le prenom avec ceux de la table en l'ayant saisi comme cela : nom.prenom.



voici ma nouvelle requete :



//pour séparer nom et prenom

$nomPrenom = explode ('.', $_POST['recu_login']);



//pour obtenir le pass par rapport au nom et prénom

$sql = "SELECT motdepasse_user

FROM user

WHERE nom_user LIKE '%$nomPrenom[0]%'

AND prenom_user LIKE '%$nomPrenom[1]%'";



Merci bcp pr le temps consacré car le temps ca se rattrape pas ! même en indemnités ou en vacances prolongées enfin quoi que
0