MYSQL requête problème !!!

Fermé
Destroy2 - 28 janv. 2008 à 18:01
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 - 31 janv. 2008 à 18:46
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 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
29 janv. 2008 à 13:52
 $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 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 7 juillet 2012 6
28 janv. 2008 à 18:42
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
Merci je vais essayer je te dis quoi ^^
0
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 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 7 juillet 2012 6
28 janv. 2008 à 19:01
Il semblerait que tu ai omis ceci...

$mdp2 = mysql_fetch_array($reponse);
0
Phil_IP Messages postés 78 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 7 juillet 2012 6
28 janv. 2008 à 19:02
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 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 7 juillet 2012 6
28 janv. 2008 à 19:03
ça devrait le faire mieux :-)
0
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 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 7 juillet 2012 6
28 janv. 2008 à 19:43
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 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 7 juillet 2012 6
28 janv. 2008 à 19:45
oups, remplace $row par $mdp2 si ça ne marche pas....
0
je remplaceles 2 row ??
0
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 48 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 9 décembre 2016 2
29 janv. 2008 à 12:42
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
J'essaie toutça le plus rapidement possible t je vous tiens au courant demin !!! ^^
0
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 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 7 juillet 2012 6
31 janv. 2008 à 10:11
J'en prends bonne note, bercy beaucoup.
On sait jamais, ça peut servir.
Pense à mettre résolu pour ton post
0
Comment on marque qu'un sujet est résolu ??

lol
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
31 janv. 2008 à 18:46
Il faut être enregistré sur le site.
0