Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2011, 22h14   #1
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 146
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 146
Points : 26
Points : 26
Par défaut Problème requete SQL et PHP

Bonsoir

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

Code php :
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 :

Citation:
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
tanaka59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 22h19   #2
Membre du Club
 
Homme Stef
Consultant Essbase
Inscription : juin 2002
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Stef
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant Essbase

Informations forums :
Inscription : juin 2002
Messages : 40
Points : 45
Points : 45
Pour commencer, affiche le contenu de la variable $sql et exécute la requête directement dans mysql.
asphp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 22h29   #3
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 146
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 146
Points : 26
Points : 26
Je vient de tester celle ci :

Code sql :
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 :
SELECT nom , prenom , age , mail , tel , adresse , paiement FROM CLIENT WHERE mdp=$mdp AND pseudo= $pseudo;

Merci d'avance
tanaka59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 22h31   #4
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bonsoir,

et avec ça c'est pas mieux ?
Code :
$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
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 22h47   #5
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 146
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 146
Points : 26
Points : 26
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
tanaka59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 22h51   #6
Membre du Club
 
Homme Florian siles
Webmaster
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Nom : Homme Florian siles
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Webmaster
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 47
Points : 47
Code mysql :
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 :
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 :
1
2
 
$sql= " SELECT nom, prenom, age, mail, tel, adresse, paiement FROM CLIENT WHERE mdp='motdepasse' AND pseudo='monpseudo' ";
flozza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 23h01   #7
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Pour finir, tous les echo peuvent être avantageusement remplacés par :
Code :
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>
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 23h07   #8
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 146
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 146
Points : 26
Points : 26
Merci les gars , exact pour les ça fait bazard , je corrige cela
tanaka59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 09h13   #9
Membre du Club
 
Homme
Webmaster
Inscription : septembre 2008
Messages : 113
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : septembre 2008
Messages : 113
Points : 45
Points : 45
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 :
1
2
3
4
 
<?php
 
echo ...........
et non
Code :
1
2
3
4
 
<?php
echo .....
?>
cragoroth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 11h48   #10
Membre du Club
 
Homme Stef
Consultant Essbase
Inscription : juin 2002
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Stef
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant Essbase

Informations forums :
Inscription : juin 2002
Messages : 40
Points : 45
Points : 45
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 :
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 :
SELECT nom , prenom , age , mail , tel , adresse , paiement FROM CLIENT WHERE mdp=$mdp AND pseudo= $pseudo;

Merci d'avance
asphp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 12h23   #11
Membre du Club
 
Homme
Webmaster
Inscription : septembre 2008
Messages : 113
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : septembre 2008
Messages : 113
Points : 45
Points : 45
Ou tu peux aussi faire un :

ou un :

à voir plein de solution sont possible, ZEND debugger aussi est possible....
cragoroth est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h27.


 
 
 
 
Partenaires

Hébergement Web