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

Langage PHP Discussion :

erreur + recherche (sql)


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 207
    Points : 41
    Points
    41
    Par défaut erreur + recherche (sql)
    Bonjour all,
    ne sachant pas trop coder le php j'ai trouvé un code pour vérifier si un pseudo + passe et dans la table sql.

    mais voila j'ai une erreur et je ne c'est vraiment pas si c'est bien un code que je désir installer.

    Je vous explique j'ai une page index avec un formulaire pseudo, passe, région, age et sexe j'ai des users qui son enregistrer et quand il entre le pseudo sur la page index j'aimerai qu'il y a une alerte pour dire que le pseudo et protéger mais uniquement si le passe na pas était saisi.

    Voila j'espère que j'ai était assez claire et que si mon code ne correspond pas a mon attente qu'il y aurait une personne pour m'aidai ou ou me donner se morceau de code.

    l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/Moncompte/www/index.php on line 18
    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
    28
    <?php
      // VARIABLES DE CONNEXION
        $host  = 'localhost';    // Votre identifiant
        $user  = 'Login';     // Votre identifant 
        $mdp  = 'Monpass-Sql';     // Votre mot de passe
        $base  = 'Nombase-SQL';     // Nom de votre base
        $tb   = 'Matable';    // Nom de votre table 
     
      // ON SE CONNECTE ET ON SELECTIONNE LA BASE
          mysql_connect($host, $user, $mdp)
          or die("Impossible de se connecter au serveur ".$host);
        mysql_select_db($base)
          or die("Impossible de connecter à la base ".$base);
     
      // ON VERIFIE SI LE psd EST DANS LA TABLE
    $sql  = "SELECT COUNT(*) AS nbr FROM ".$tb." WHERE psd = '".$_POST['psd']."'";
        $res  = mysql_query($sql);
        $alors  = mysql_fetch_assoc($res);
     
      // UNE BOUCLE POUR INFORMER L'UTLISATEUR
        if(isset($_POST['psd'])){
          if(!($alors['nbr'] == 0)){
            echo "Ce psd est déjà utilisé !";
          }else{
            echo "Ce psd n'a jamais été utilisé";
          }
        }
    ?>

    et mes input sur ma page index.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input name="psd" type="text" id="psd" class="longueur_inp" value="<?php echo $_COOKIE['psd']; ?>" maxlength="19" />
    <input name="pss" type="password" id="pss" class="longueur_inp" value="<?php echo $_COOKIE['pss'];?>" maxlength="20" />
    Cordialement Stéphane

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Fait un echo sur la variable $sql est vérifier la requête afficher sur phpmyadmin est ce qu'il va vous retourner des erreurs.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 207
    Points : 41
    Points
    41
    Par défaut
    Bonsoir
    merci de cette réponsse

    j'ai teste de mettre un echo comme sa et j'obetient un autre erreur.

    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
    28
    <?php
      // VARIABLES DE CONNEXION
        $host  = 'localhost';    // Votre identifiant
        $user  = 'Login';     // Votre identifant 
        $mdp  = 'Monpass-Sql';     // Votre mot de passe
        $base  = 'Nombase-SQL';     // Nom de votre base
        $tb   = 'Matable';    // Nom de votre table 
     
      // ON SE CONNECTE ET ON SELECTIONNE LA BASE
          mysql_connect($host, $user, $mdp)
          or die("Impossible de se connecter au serveur ".$host);
        mysql_select_db($base)
          or die("Impossible de connecter à la base ".$base);
     
      // ON VERIFIE SI LE psd EST DANS LA TABLE
    $sql  = "SELECT COUNT(*) AS nbr FROM ".$tb." WHERE psd = '".$_POST['psd']."'";
        $res  = mysql_query($sql);
        $alors  = mysql_fetch_assoc($res);
     
      // UNE BOUCLE POUR INFORMER L'UTLISATEUR
        if(isset($_POST['psd'])){
          if(!($alors['nbr'] == 0)){
            echo "Ce psd est déjà utilisé !";
          }else{
            echo "Ce pseudo n'a jamais été utilisé";
          }
        }
    ?>
    et j'ai sa comme erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected T_VARIABLE in /home/Moncompte/www/index.php on line 25
    Citation Envoyé par m4riachi Voir le message
    Fait un echo sur


    Cordialement Stéphane

    la variable $sql est vérifier la requête afficher sur phpmyadmin est ce qu'il va vous retourner des erreurs.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne vois pas le echo dans ce que tu nous as mis.

    Il faut afficher l'erreur mysql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res  = mysql_query($sql) or exit(mysql_error());

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 207
    Points : 41
    Points
    41
    Par défaut
    Bonsoir sabotage

    bah me suis planté de copier coller
    puis toute facon mon echo et mal créer je l'avais comme sa mais sa va pas gt entrain de cherché sur le net :$ donc j'avais mis comme sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
          }else{
            echo "Ce pseudo n'a jamais été utilisé";
    }else{
            echo (".$sql");
     
          }
        }
    ?>
    et j'ai sa comme erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected T_ELSE in /home/moncompte/www/index.php on line 26
    donc j'ai télement de bloc not ouvert que je me suis même planté de ligne lol

    donc je recherche encore comment planté l'echo

    Cordialement Stéphane

    Citation Envoyé par sabotage Voir le message
    Je ne vois pas le echo dans ce que tu nous as mis.

    Il faut afficher l'erreur mysql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res  = mysql_query($sql) or exit(mysql_error());

  6. #6
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Bonjour,

    une piste... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $psd='';
    if(isset($_POST['psd'])) {
      $psd= addslashes( $_POST['psd'] );
    }
     
    $sql  = "SELECT psd FROM ".$tb." WHERE psd = '".$psd."'";
    $res  = mysql_query($sql);
    if(!mysql_num_rows($res)) {
      echo "Ce pseudo n'a jamais été utilisé";
    } else {
      echo "Pseudo déjà utilisé";
    }
    bon courage...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 207
    Points : 41
    Points
    41
    Par défaut
    Bonsoir ska_root,
    merci de ton aide sa fait plaisir de voir des gens qui aide ^^


    afff j'ai mis ton code pour voir car je mis connais pas assez en php
    et sur le index j'ai sa comme erreur:

    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
    28
    <?php
      // VARIABLES DE CONNEXION
        $host  = 'localhost';    // Votre identifiant
        $user  = 'admin';     // Votre identifant 
        $mdp  = 'monpass';     // Votre mot de passe
        $base  = 'nombase';     // Nom de votre base
        $tb   = 'Labase_2';    // Nom de votre table 
     
      // ON SE CONNECTE ET ON SELECTIONNE LA BASE
          mysql_connect($host, $user, $mdp)
          or die("Impossible de se connecter au serveur ".$host);
        mysql_select_db($base)
          or die("Impossible de connecter à la base ".$base);
     
      // ON VERIFIE SI LE psd EST DANS LA TABLE
    $sql  = "SELECT COUNT(*) AS nbr FROM ".$tb." WHERE psd = '".$_POST['psd']."'";
        $res  = mysql_query($sql);
        $alors  = mysql_fetch_assoc($res);
     
      // UNE BOUCLE POUR INFORMER L'UTLISATEUR
        if(isset($_POST['psd'])){
          if(!($alors['nbr'] == 0)){
            echo "Ce pseudo est déjà utilisé !";
          }else{
            echo "Ce pseudo n'a jamais été utilisé";
          }
        }
    ?>
    Erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/Moncompte/www/index.php on line 23
    Ce pseudo n'a jamais été utilisé
    Cordialement Stéphane

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Toujours pareil :
    Il faut afficher l'erreur mysql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res  = mysql_query($sql) or exit(mysql_error());

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 207
    Points : 41
    Points
    41
    Par défaut
    re
    moi je veut bien t'aficher tout se que tu me demande mais comment ?

    Cordialement Stéphane

    Citation Envoyé par sabotage Voir le message
    Toujours pareil :

  10. #10
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Es-tu sûr du nom de ta table ?

    si oui,
    comme déjà dit par sabotage :

    remplace le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res= mysql_query($sql);
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res= mysql_query($sql) or die(mysql_error());
    si une erreur s'affiche, essaies d'afficher la variable $sql et copie/colle la requête obtenue dans phpMyAdmin pour en vérifier l'intégrité...


  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 207
    Points : 41
    Points
    41
    Par défaut
    re
    oui ma table et bonne la ou je pense que se n'est pas bon c'est ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        $base  = 'Nomdemabase_2';     // Nom de votre base
        $tb   = 'C'est ici que j'ai un gros doute';    // Nom de votre table

    aprés avoir remplacé le code que tu ma dit de remplacer j'ai sa comme erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur de syntaxe près de '-fusion_2 WHERE psd = ''' à la ligne 1
    Cordialement Stéphane

    Citation Envoyé par ska_root Voir le message
    Es-tu sûr du nom de ta table ?

    si oui,
    comme déjà dit par sabotage :

    remplace le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res= mysql_query($sql);
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res= mysql_query($sql) or die(mysql_error());
    si une erreur s'affiche, essaies d'afficher la variable $sql et copie/colle la requête obtenue dans phpMyAdmin pour en vérifier l'intégrité...


  12. #12
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Le nom de ta table mysql n'est pas bien renseigné à la variable $tb ! (peut-être un "underscore" au lieu du "tiret" ? )

    vérifies l'orthographe de ta table dans phpMyAdmin...


  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 207
    Points : 41
    Points
    41
    Par défaut
    Bon a force de bidouiller maintenent sa me dit sa :
    Champ 'psd' inconnu dans where clause

    je pense que c'est normal que j'ai se message car les services anope n'utilise pas psd mais pseudo ou autre me semble

    j'ai trouvé dans la base sql de anope --> anope_ns_core

    Car je vous explique mieux.

    dans services.conf de anope on a un petit code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #######################
    # Configuration mySQL #
    #######################
     
    MysqlHost "127.0.0.1"
    MysqlUser "Moncompte"
    MysqlPass "Monpasse"
    MysqlName "Nomdemabase_2"
    MysqlSock "/tmp/mysql.sock"
    MysqlPort 3306
    #MysqlSecure "md5"
    #MysqlRetries 10
    #MysqlRetryGap 1
    et dans le dossier service de anope on a un fichier tables.sql que j'ai importé dans ma 2eme base SQL.

    sa créer des dossier comme sa :
    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
        * Structure anope_bs_core
        anope_cs_access
        anope_cs_akicks
        anope_cs_badwords
        anope_cs_info
        anope_cs_levels
        anope_cs_ttb
        anope_hs_core
        anope_info
        anope_ms_info
        anope_ns_access
        anope_ns_alias
        anope_ns_core
        anope_ns_request
        anope_os_akills
        anope_os_core
        anope_os_exceptions
        anope_os_news
        anope_os_sglines
        anope_os_sqlines
        anope_os_szlines
    Et quand je clic sur anope_ns_core j'ai un menu en haut avec :
    Textes complets nc_id / display / pass / email / icq / url / flags / language / accesscount / memocount / memomax / channelcount / channelmax / greet / active

    dans le Textes complets nc_id j'ai des chiffres pour chaque user ex :
    1 pseudo1
    2 pseudo2
    3 pseudo3
    4 pseudo4
    etc...5 ...

    dans display j'ai tout les pseudos

    dans pass [BLOB - 9o]

    etc... email = mail de luser breff bla bla bla

    Voila j'espére que cette explication serra mieux que la précédente.


    pour finir dans mon index.php
    j'ai mis comme sa :

    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
    28
    <?php
      // VARIABLES DE CONNEXION
        $host  = 'localhost';    // Votre identifiant
        $user  = 'Login';     // Votre identifant 
        $mdp  = 'Monpass';     // Votre mot de passe
        $base  = 'matable_2';     // Nom de votre base
        $tb   = 'anope_ns_core';    // Nom de votre table 
     
      // ON SE CONNECTE ET ON SELECTIONNE LA BASE
          mysql_connect($host, $user, $mdp)
          or die("Impossible de se connecter au serveur ".$host);
        mysql_select_db($base)
          or die("Impossible de connecter à la base ".$base);
     
      // ON VERIFIE SI LE psd EST DANS LA TABLE
    $sql  = "SELECT COUNT(*) AS nbr FROM ".$tb." WHERE psd = '".$_POST['psd']."'";
        $res= mysql_query($sql) or die(mysql_error());
        $alors  = mysql_fetch_assoc($res);
     
      // UNE BOUCLE POUR INFORMER L'UTLISATEUR
        if(isset($_POST['psd'])){
          if(!($alors['nbr'] == 0)){
            echo "Ce pseudo est déjà utilisé !";
          }else{
            echo "Ce pseudo n'a jamais été utilisé";
          }
        }
    ?>
    avec se code j'ai cette erreur :
    Champ 'psd' inconnu dans where clause
    et avec la ligne d'origine j'ai sa comme erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res= mysql_query($sql);
    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/Moncompte/www/index.php on line 18
    donc voila encore une fois j'espére que j'ai était précis

    donc la question et faut il que je change PSD de ma page index.php par pseudo ?


    Cordialement Stéphane

  14. #14
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Cette documentation devrait aider...

    http://wiki.anope.org/index.php/Tech...s:MySQL:Scheme

    Je pense donc au champ "user"...


Discussions similaires

  1. [MySQL] Degré de pertinence dans une recherche sql
    Par Invité(e) dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/11/2005, 09h59
  2. Réponses: 10
    Dernier message: 26/01/2005, 19h48
  3. [CE10 Pro] Erreur Connexion SQL pour etats publiés
    Par L.nico dans le forum Connectivité
    Réponses: 1
    Dernier message: 09/12/2004, 17h16
  4. catch des erreurs dans SQL+
    Par lalystar dans le forum Oracle
    Réponses: 2
    Dernier message: 21/09/2004, 15h17
  5. message d'erreur "Microsoft SQL-DMO"
    Par tachi dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/08/2004, 11h47

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