Relier deux champs dans une requète sql [Résolu]

Signaler
Messages postés
13
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 août 2005
-
Messages postés
13
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 août 2005
-
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

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
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.
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
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]
Messages postés
13
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 août 2005

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