PHP : variable dans le sql

Résolu/Fermé
Kishikage
Messages postés
11
Date d'inscription
samedi 6 septembre 2008
Statut
Membre
Dernière intervention
4 janvier 2010
- 24 févr. 2009 à 23:19
Kishikage
Messages postés
11
Date d'inscription
samedi 6 septembre 2008
Statut
Membre
Dernière intervention
4 janvier 2010
- 25 févr. 2009 à 00:05
Bonjour,

Je me suis mis au codage pour la création d'un site ... je test sur wamp ...
J'ai créé un formulaire d'inscription et j'ai voulu intégré une vérification du pseudo pour que l'utilisateur voit s'il est déjà utilisé avant d'envoyer le formulaire ...

voici mon code php

32 ............. <?php
33 ............. $libre = "" ;
34 ............. $pseudo = "" ;
35 ............. if ( isset($_POST['pseudoentrer']) and $_POST['pseudoentrer'] != "")
36 ............. {
37 ................... $pseudo = $_POST['pseudoentrer'];
38 ................... mysql_connect("127.0.0.1", "root", "");
39 ................... mysql_select_db("st");
40 ................... $libre = mysql_query("SELECT Id FROM membres WHERE Pseudo='.$pseudo'");
41 ................... if($libre >= 0)
42 ................... {
43 .......................... ?> <img src="image/button off.png" alt="pseudo déjà utilisé" > <?php
44 ................... }
45 ................... else
46 ................... {
47 .......................... ?> <img src="image/button on.png" alt="pseudo libre" > <?php
48 ................... }
49 ................... mysql_close();
50 ............ }
51 ............ ?>

Je pense que le prob viens de la ligne 40

Quand j'essaie la page sur localhost, j'ai beau mettre n'importe quel pseudo, qu'il soit ou pas dans la table, le résultat m'affiche systématiquement "pseudo déjà utilisé"

Merci d'avance si vous trouvez l'origine du prob ...

4 réponses

Alain_42
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
898
24 févr. 2009 à 23:49
Bonsoir,

3 erreurs:
pour la requette il manquait un . essayes cette forme
$libre = mysql_query("SELECT Id FROM membres WHERE Pseudo='".$pseudo."'"); 


tu testes:

if($libre >= 0) c'est a dire si superieur ou égal à 0 ?????

ensuite mysql_query te renvoie une ressource, pas me nombre d'enregistrement trouvés

il faut faire
$nb_trouve=mysql_num_rows($libre);


et ensuite tester par:

 if($nb_trouve>0){
etc...

1
bissdebrazza
Messages postés
2064
Date d'inscription
vendredi 29 juin 2007
Statut
Contributeur
Dernière intervention
7 décembre 2017
713
24 févr. 2009 à 23:23
salut!
peut être ceci:<code>$libre = mysql_query("SELECT Id FROM membres WHERE Pseudo='.$pseudo.'"); <code>
Bonne soirée!
0
Kishikage
Messages postés
11
Date d'inscription
samedi 6 septembre 2008
Statut
Membre
Dernière intervention
4 janvier 2010
3
24 févr. 2009 à 23:27
le prob viens de cette ligne ... J'ai essayé de multiple combinaison ...
Je viens d'essayer celle là ... le problème persiste ...
0
Kishikage
Messages postés
11
Date d'inscription
samedi 6 septembre 2008
Statut
Membre
Dernière intervention
4 janvier 2010
3
25 févr. 2009 à 00:05
Merci ....
J'avais essayé cette forme là ... mais c'est la dernière erreur qui faussait tout ...

Erreur : if($libre >= 0)
Correction : if($libre > 0)

Je comprend pas comment j'ai pu faire une tel erreur ...

Encore merci ... c'est résolu ...
0