SELECT d'un mot de passe dans une autre table

[Résolu/Fermé]
Signaler
Messages postés
583
Date d'inscription
samedi 27 janvier 2007
Statut
Membre
Dernière intervention
30 décembre 2019
-
Messages postés
583
Date d'inscription
samedi 27 janvier 2007
Statut
Membre
Dernière intervention
30 décembre 2019
-
Bonjour,

J'ai 2 tables dans une base SQL :

table 1 : association
champs :mail - password

table 2 : utilisateurs
champs : pseudo - association_id

J'essaie de mettre un place un système de connexion ou une association a un mot de passe identique pour tout ses membres.

Lors de la requête, je souhaite quelquechose du genre :

Vérifie que le pseudo corresponde au password.

Mes 2 tables sont liées avec une clé étrangère.

J'ai essayé ceci mais sans résultat :

$req = $bdd -> prepare("SELECT utilisateurs.pseudo, association.password 
FROM utilisateurs 
LEFT JOIN association ON association.association_id = utilisateurs.id 
WHERE pseudo = '$pseudo' AND password = '$password'");


J'obtiens erreur :
Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'association.association_id' in 'on clause' ) 1

Des idées ?

Merci de votre aide

3 réponses

Messages postés
32893
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 octobre 2021
8 045
Bonjour,

Le moteur du sgbd indique que la colonne association.association_id n'existe pas. Ce qui semble exact au vu des 2 champs que tu donnes pour cette table.

Tu n'as pas donné quel est le sgbd que tu utilises. Mais peut être existe t-il sur chaque table un pseudo champ
id
.

La syntaxe serait alors du style :
 
ON utilisateurs.association_id = association.id


cdlt

        Un étranger, c'est un ami qu'on n'a pas encore rencontré.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
583
Date d'inscription
samedi 27 janvier 2007
Statut
Membre
Dernière intervention
30 décembre 2019
38
Bien vu !
Merci :-)

En revanche pour la suite de ma connexion j'ai un souci au niveau du password.

// Requête sur la base de donnée
		$reponse = $bdd->query("SELECT * FROM utilisateurs LEFT JOIN association ON utilisateurs.association_id = association.id WHERE pseudo='".$pseudo."' AND password='".$password."';");
		$resultat = $reponse->fetch();
		$pseudoTrouve = $resultat['pseudo'];
		$passwordTrouve = $resultat['password'];
		 
		echo 'pseudoTrouvé:'.$pseudoTrouve.' / passwordTrouvé:'.$passwordTrouve.'<br>';
		
		// On compare le pseudo et MotDePasse
		if ($pseudoTrouve==$pseudo AND $passwordTrouve==$password) {
			session_start();
	        $_SESSION['pseudo'] = $pseudo;
	    	echo 'OK';
	    } else {   
	        echo 'Vos identifiants sont incorrects';
	    }



Bien que les pseudos et passwords correspondent entre eux, je n'arrive pas à me connecter.
En revanche, lors de la connexion, lorsque j'enlève le :
AND $passwordTrouve==$password
la connexion se fait.

Bizarre...
Cela ne peut pas venir du LEFT JOIN ? Car lors d'une requête normal, la connexion se fait bien...
Messages postés
583
Date d'inscription
samedi 27 janvier 2007
Statut
Membre
Dernière intervention
30 décembre 2019
38
Erreur résolue à cause d'un pu**** d'espace invisible à la fin du mot de passe !!