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 :

Problème requete SQL et PHP [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Inactif  

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3 064
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 064
    Points : 4 604
    Points
    4 604
    Par défaut Problème requete SQL et PHP
    Bonsoir

    J'ai un souci d'appel avec cette requete :

    Code php : 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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <?php
     
    // récupération des données du formulaire de connexion
     
    $mdp=$_POST['mdp'];
    $pseudo=$_POST['pseudo'];
     
    $db = mysql_connect('localhost', 'root', '');
    mysql_select_db('projet',$db);
     
    $sql= 'SELECT nom , prenom , age , mail , tel , adresse , paiement FROM CLIENT WHERE mdp='.$mdp.'and pseudo='.$pseudo;
     
    $req = mysql_query($sql) or die ('ERREUR '.mysql_error());
     
    $data = mysql_fetch_array($req);
     
    echo " Bienvenue sur votre compte <br>";
     
    echo " <table> <tr> <td> NOM </td> ";
    echo " <td> Prenom </td> "; 
    echo " <td> Age </td> "; 
    echo " <td> Adresse </td> ";
    echo " <td> Telephone </td> ";
    echo " <td> Mail </td> ";
    echo " <td> Mod de paiement </td> ";
    echo " </tr> ";
    echo " <tr> <td>" ;
    echo  $data['nom'];
    echo "</td> ";
    echo " <td>" ; 
    echo $data['prenom'];
    echo "</td> ";
    echo " <td>" ;
    echo $data['age'] ; 
    echo "</td> ";
    echo " <td>" ;
    echo $data['adresse']; 
    echo "</td> ";
    echo " <td>" ;
    echo $data['tel']; 
    echo "</td> ";
    echo " <td>";
    echo $data['mail'];
    echo " </td> ";
    echo " <td> " ; 
    echo $data['paiement'] ;
    echo " </td> ";
    echo " </tr> </table> ";
     
    ?>

    J'ai le message d'erreur suivant :

    ERREUR You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'pseudo=pomme and num_cli=num_cli' at line 1
    J'ai verifié le code une bonne douzaine de fois est tout à l'air bon ou alors j'ai zappé un truc ?

    Merci d'avance si quelqu'un peut me dépanner

  2. #2
    Membre régulier
    Homme Profil pro
    Certifié Oracle Essbase/Planning
    Inscrit en
    Juin 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Certifié Oracle Essbase/Planning

    Informations forums :
    Inscription : Juin 2002
    Messages : 42
    Points : 117
    Points
    117
    Par défaut
    Pour commencer, affiche le contenu de la variable $sql et exécute la requête directement dans mysql.

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3 064
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 064
    Points : 4 604
    Points
    4 604
    Par défaut
    Je vient de tester celle ci :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT nom , prenom , age , mail , tel , adresse , paiement 
    FROM CLIENT ;

    en mon sgbd et elle est reconnu .

    Dois aussi tester cette variante ? :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT nom , prenom , age , mail , tel , adresse , paiement FROM CLIENT WHERE mdp=$mdp and pseudo= $pseudo;

    Merci d'avance

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bonsoir,

    et avec ça c'est pas mieux ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT nom, prenom, age, mail, tel, adresse, paiement FROM CLIENT WHERE mdp='".mysql_real_escape_string($mdp)."' AND pseudo='".mysql_real_escape_string($pseudo)."'";
    Tu as omis les guillemets autour des textes

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3 064
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 064
    Points : 4 604
    Points
    4 604
    Par défaut
    Merci à vous rawsrc

    Cela marche , effectivement il s'agissait d'un problème de guillement je m'en doutais mais ne savait pas d'ou cela pouvait venir

    Je garde le sujet ouvert car j'aurais d'autres questions en les jours à venir

  6. #6
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2011
    Messages : 70
    Points : 67
    Points
    67
    Par défaut
    Code mysql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql= 'SELECT nom , prenom , age , mail , tel , adresse , paiement FROM CLIENT WHERE mdp='.$mdp.'and pseudo='.$pseudo;

    Problème de guillemet

    Correction

    Code mysql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql= "SELECT nom, prenom, age, mail, tel, adresse, paiement FROM CLIENT WHERE mdp='".$mdp."' AND pseudo='".$pseudo."'";

    Pour que tu voies bien l'erreur, j'enlève les variables php
    Code mysql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql= " SELECT nom, prenom, age, mail, tel, adresse, paiement FROM CLIENT WHERE mdp='motdepasse' AND pseudo='monpseudo' ";

  7. #7
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Pour finir, tous les echo peuvent être avantageusement remplacés par :
    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
    Bienvenue sur votre compte <br />
    <table>
       <thead>
          <tr>
             <th> NOM </th>
             <th> Prenom </th> 
             <th> Age </th> 
             <th> Adresse </th>
             <th> Telephone </th>
             <th> Mail </th>
             <th> Mode de paiement </th>
          </tr>
       </thead>
       <tbody>
          <tr>
             <td><?php echo $data['nom']; ?></td>
             <td><?php echo $data['prenom']; ?></td>
             <td><?php echo $data['age']; ?></td>
             <td><?php echo $data['adresse']; ?></td>
             <td><?php echo $data['tel']; ?></td>
             <td><?php echo $data['mail']; ?></td>
             <td><?php echo $data['paiement']; ?></td>
          </tr>
       </tbody>
    </table>

  8. #8
    Inactif  

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3 064
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 064
    Points : 4 604
    Points
    4 604
    Par défaut
    Merci les gars , exact pour les ça fait bazard , je corrige cela

  9. #9
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2008
    Messages : 171
    Points : 106
    Points
    106
    Par défaut
    J'ajoute un petit point sur la norme PHP :

    <?php

    pas de fermeture de balise php si tu finis par du php
    donc ça donnera ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
     
    echo ...........
    et non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    echo .....
    ?>

  10. #10
    Membre régulier
    Homme Profil pro
    Certifié Oracle Essbase/Planning
    Inscrit en
    Juin 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Certifié Oracle Essbase/Planning

    Informations forums :
    Inscription : Juin 2002
    Messages : 42
    Points : 117
    Points
    117
    Par défaut
    pour débugger les requêtes sql en les isolant du reste du code, faire un echo $sql juste avant le $req = mysql_query($sql) que l'on met en commentaire et exécuter le texte sql de la requête, obtenu dans la page, dans mysql.



    Citation Envoyé par tanaka59 Voir le message
    Je vient de tester celle ci :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT nom , prenom , age , mail , tel , adresse , paiement 
    FROM CLIENT ;

    en mon sgbd et elle est reconnu .

    Dois aussi tester cette variante ? :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT nom , prenom , age , mail , tel , adresse , paiement FROM CLIENT WHERE mdp=$mdp and pseudo= $pseudo;

    Merci d'avance

  11. #11
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2008
    Messages : 171
    Points : 106
    Points
    106
    Par défaut
    Ou tu peux aussi faire un :

    ou un :

    à voir plein de solution sont possible, ZEND debugger aussi est possible....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Problème requete SQL dans PHP
    Par dl_jarod dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/04/2006, 14h40
  2. [SGBD] requête sql en php pour mysql
    Par Thierry8 dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/09/2005, 22h31
  3. Problème requete SQL
    Par tonyskn dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/11/2004, 20h37
  4. problème requete sql
    Par Fred- dans le forum ASP
    Réponses: 2
    Dernier message: 13/06/2004, 02h20
  5. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31

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