MYSQL requête problème !!!

Destroy2 -  
Xil Messages postés 351 Statut Membre -
Bonjour,

Je voudrais créer une rquête MYSQL qui me donnerait le mot de passe d'un utilisateur après avoir récupéré son pseudo

Voilà mon script mais il ne fonctionne pas ...

 elseif (isset($_POST['pseudo2'])) {
		
				$pseud=$_POST['pseudo2'];
	  			$reponse = mysql_query("SELECT DISTINCT mdp FROM conn WHERE pseudo='". $pseud ."'"); 
	  			$mdp2 = mysql_fetch_array($reponse);
	  		
	 			$pseud=$mdp2;
	  
	  echo ' <p align="center" class="style" >'. $_POST['pseudo2'] .' votre mot de passe est '. $pseud .' .';
	  
	  }


Il me retourne cette phrase : patouki votre mot de passe est Array .

Pourquoi il marque Array au lieu du mot de passe ??

Merci d'avance

18 réponses

Xil Messages postés 351 Statut Membre 257
 
 $mdp2 = mysql_fetch_array($reponse);

$pseud=$mdp2[0]; 

Ou
 $mdp2 = mysql_fetch_assoc($reponse);

$pseud=$mdp2['mdp']; 


Les deux solutions sont possibles.

Soyons un peu plus clair:

mysql_query retourne les résultats d'une requête SQL tels que les renvois le serveur de BDD. Ces résultats ne sont pas exploitables directement en PHP.

mysql_fetch_array($result) transforme la ligne courante des résultats de mysql_query ($result) en un tableau simple et passe à la ligne suivante (en commencant par la première ligne biensur). Il est nécessaire de faire une boucle pour récupérer toute les lignes de $result. Les indices du tableau sont des chiffres et vont de 0 à {nbr de colonnes} => $tab[0]

mysql_fetch_assoc($result) fonctionne de la même facon que mysql_fetch_array() mais crée un tableau associatif, càd que les indices sont les noms de colonne => $tab['nom_colonne']
1
Phil_IP Messages postés 78 Statut Membre 6
 
Bonjour,

Parce que tu utilise une fonction qui te retourne une ressource array.
essaie un truc du genre pour récupérer la variable.

$pseud = $reponse["mdp2"];

je ne suis pas un pro PHP, mais si ça peut aider ;-)

bon courage
0
Destroy2
 
Merci je vais essayer je te dis quoi ^^
0
Destroy2
 
Salut,

Bon ça ne donne toujours rien ...

Voilà le code que j'ai utilisé :

elseif (isset($_POST['pseudo2'])) {
		
				$pseud=$_POST['pseudo2'];
	  			$reponse = mysql_query("SELECT DISTINCT mdp FROM conn WHERE pseudo='". $pseud ."'"); 
	  			
	  		
	 			$pseud = $reponse["mdp"]; 
	  
	  echo ' <p align="center" class="style" >'. $_POST['pseudo2'] .' votre mot de passe est '. $pseud .' .';
	  
	  }


Ca me retour la phrase mais n'affiche rien concernant " $pseud " ....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Phil_IP Messages postés 78 Statut Membre 6
 
Il semblerait que tu ai omis ceci...

$mdp2 = mysql_fetch_array($reponse);
0
Phil_IP Messages postés 78 Statut Membre 6
 
elseif (isset($_POST['pseudo2'])) {

$pseud=$_POST['pseudo2'];
$reponse = mysql_query("SELECT DISTINCT mdp FROM conn WHERE pseudo='". $pseud ."'");
$mdp2 = mysql_fetch_array($reponse);

$pseud = $reponse["mdp"];

echo ' <p align="center" class="style" >'. $_POST['pseudo2'] .' votre mot de passe est '. $pseud .' .';

}
0
Phil_IP Messages postés 78 Statut Membre 6
 
ça devrait le faire mieux :-)
0
Destroy2
 
Bon ça ne marche pas , je vais reprendre à zéro alors ...

Mon utilisateur doit entrer un code secret ki lui a été fournis préalablement et son pseudo pour que je puisse comparer son pseudo et rechercher son mot de passe sachant que son code secret concorde avec son pseudo.

Voici le code de mon formulaire ;

<div id="sous_menu_7" class="cache">

<div align="center">
<form id="form2" name="form2" method="post" action="forum_conn">
<p>Entrer votre pseudo et votre code secret<br />
<input type="text" align="middle" value="Pseudo" onFocus="if (this.value=='Pseudo') {this.value=''}" name="pseudo2"/>
<br />
<input type="text" align="middle"value="Code secret" onFocus="if (this.value=='Code secret') {this.value=''}" name="mdp2" />
</p>
<p>
<input type="submit" name="Submit3" value="Envoyer" />
</p>
</form>

Voilà maintenant lmon code PHP :

elseif (isset($_POST['pseudo2'])) {

$pseud=$_POST['pseudo2'];
$reponse = mysql_query("SELECT DISTINCT mdp FROM conn WHERE pseudo='". $pseud ."'");
$mdp2 = mysql_fetch_array($reponse);

$pseud = $reponse["mdp"];

echo ' <p align="center" class="style" >'. $_POST['pseudo2'] .' votre mot de passe est '. $pseud .' .';

}

Voilà si tu pouvais me rédigé un petit script ou corriger le mien ça seais gentil car là je suis complètement perdu .. :(

J'ai plusieurs table dans ma base de donnée

1) " conn " ki regroupe id // pseudo // mdp
2) " conn4 " ki regroupe mdpoublie

mdp= mot de passe
mdpoublie = code secret

Voilà ^^
0
Phil_IP Messages postés 78 Statut Membre 6
 
elseif (isset($_POST['pseudo2'])) {

$pseud=$_POST['pseudo2'];
$reponse = mysql_query("SELECT DISTINCT mdp FROM conn WHERE pseudo='". $pseud ."'");

$row= $reponse->fetch_object();
$pseud = $row->mdp;

echo ' <p align="center" class="style" >'. $_POST['pseudo2'] .' votre mot de passe est '. $pseud .' .';

}

il n'y a plus qu'a tester...
0
Phil_IP Messages postés 78 Statut Membre 6
 
oups, remplace $row par $mdp2 si ça ne marche pas....
0
Destroy2
 
je remplaceles 2 row ??
0
Destroy2
 
avec ton bout de code l'erreur n'est plus la même .. c'est déjà ça ...

voilà la nouvelle erreur : Fatal error: Call to a member function fetch_object() on a non-object

Et je ne connais pas trop les associations " ->" en PHP :s
0
masdmaah Messages postés 49 Statut Membre 2
 
elseif (isset($_POST['pseudo2'])) {

$pseud=$_POST['pseudo2'];
$reponse = mysql_query("SELECT DISTINCT mdp FROM conn WHERE pseudo='". $pseud ."'");
$mdp2 = mysql_fetch_array($reponse);

$pseud=$mdp2[0];

echo ' <p align="center" class="style" >'. $_POST['pseudo2'] .' votre mot de passe est '. $pseud .' .';

}

==> ça , ça ne fonctionne pas?
0
destroy2
 
J'essaie toutça le plus rapidement possible t je vous tiens au courant demin !!! ^^
0
Destroy2
 
MERCIIIIIIIIIIIIIIIIIII

TOUT FONCTIONNE !!!!

J'ai compris maintenant comment procéder !!!!!

Vraiment vive l'informatique !!!

Peut-être que je reprendrai mes cours en webmastering car je vois que j'ai tout oublié :p

Merci à vous tous ;)
0
Phil_IP Messages postés 78 Statut Membre 6
 
J'en prends bonne note, bercy beaucoup.
On sait jamais, ça peut servir.
Pense à mettre résolu pour ton post
0
Destroy2
 
Comment on marque qu'un sujet est résolu ??

lol
0
Xil Messages postés 351 Statut Membre 257
 
Il faut être enregistré sur le site.
0