IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

probleme script recherche dans une table


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 11
    Points
    11
    Par défaut probleme script recherche dans une table
    bonjour a tous.
    j'essaye de faire un script qui recherche dans une table mysql si le pseudo est existant ou pas, mais mon code me retourne toujours "Resource id #8"

    mon script est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <? require("connect.php"); 
    $pseudo = $_POST['pseudo1'];
    if ($pseudo == "")
    { ?>
    Pseudo:
    <form method="post" action="index.php?id=4">
    <input type="text" name="pseudo1" ><br>
    <input type="submit" name="submit" value="Continuer">
    </form>
    <?
    }
    else
    { 
    $sql = "SELECT `pseudo` FROM `users` WHERE `pseudo` = '$pseudo'";
    $resultat = mysql_query($sql) or die("$sql - " . mysql_error());;
    echo($resultat);
    echo('<br>');
    echo($pseudo);
    }
    ?>
     
    mon fichier connect.php:
    <?php
    mysql_connect("localhost", "user", "pass");
    mysql_select_db("db");
    ?>
    la variable $pseudo est bien recuperé car c'est la bonne qui s'affiche via echo($pseudo); mais que sa soit avec un pseudo existant dans la bdd ou un non existant je recoit Resource id #8.

    en fait j'aurais juste besoin de faire une recherche exacte sur la colone 'pseudo' et qu'il me retourne 0 ou 1 selon l'etat non trouvé(0)/trouvé(1)

    Merki a ceux qui pourront m'aider

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Il faudrait peut-être traité ta requête non ? regarde du côté de : mysql_

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    en comparant avec
    Comment lancer une recherche dans ma base MySQL ?
    mon query a l'air bon, mais je ne sait pas comment traiter le resultat afin d'avoir deux status possibles

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    C'est normal.
    fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultat = mysql_fetch_array(mysql_query($sql));
    à la place de ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultat = mysql_query($sql);
    Puis fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $resultat['pseudo'];

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup
    Cela fonctionne impec, si le pseudo existe il est renvoié sinon, la variable est vide

  6. #6
    Invité
    Invité(e)
    Par défaut
    pas trés propre ton code

    1. deja utilises <?php au lieu de <? (obsolete)
    2. pour vérifier si la variable est vide : fct empty (et comme c'est bien fait elle vérifie en meme l'existence de la variable posté tel qu'un isset) empty($_POST['pseudo'])
    3. dans ta requete tu n'es pas a l'abris de l'injection sql donc utiliser mysql_real_escape_string
    4. as tu compris pourquoi ça ne marché pas?
    echo($resultat);--> c'est normal le ressource
    Mysql_query te retourne la valeur d'une ressource mémoire (un pointeur sur un objet) que tu doit ensuite lire avec des fonctions spécifiques
    5. priviligie mysql_fetch_assoc à mysql_fetch_array car plus rapide

    voila

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Citation Envoyé par rbaatouc
    5. priviligie mysql_fetch_assoc à mysql_fetch_array car plus rapide
    Cela dépend vraiment de l'utilisation que tu veux en faire, il me semble qu'il n'est pas possible d'utiliser les valeurs retournées par _assoc avec des chiffres, alors que pour _array, cela est possible.
    Mais en tout cas, comme précisé plus haut, le but c'est de comprendre .

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    @rbaatouc :
    pour l'instant, j'y fait de facon a ce que cela fonctionne je verrais la securité et l'optimisation apres.

    @SpiritOfDoc:
    vi pour l'instant j'essaye de comprendre je verrais la secu apres, chaque choses en son temps

Discussions similaires

  1. [MySQL] pb script de recherche dans une table
    Par angelshield dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/05/2007, 11h55
  2. Probleme de recherches dans une table
    Par spy1 dans le forum Requêtes
    Réponses: 4
    Dernier message: 23/04/2007, 09h33
  3. [Conception] probleme de recherche dans une table
    Par H-bil dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 09/02/2007, 16h23
  4. recherche dans une table Access en ASP
    Par D-D dans le forum ASP
    Réponses: 3
    Dernier message: 09/06/2004, 10h12
  5. [BPW]Problème de recherche dans une boîte liste
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 14
    Dernier message: 05/07/2003, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo