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 ...
A voir également:

4 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
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 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
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