Erreur de syntax

Fermé
salah2526 Messages postés 16 Date d'inscription lundi 1 juin 2009 Statut Membre Dernière intervention 23 octobre 2009 - 28 août 2009 à 13:01
jambondardennes Messages postés 481 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 6 septembre 2017 - 31 août 2009 à 12:41
Bonjour,
J'utilise php 5.3.0 mysql 5.1.36.
J'ai le message suivant lors de l'execution du code:

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 'AND MotDePass='salah'' at line 1

Voici ma requette, mais jusq'a maintenent je n'arrive pas à detecter l'erreur, je crois de c'est un probleme de concatenation.

$reqchaine="SELECT * FROM users WHERE Nom='".$nom."';AND MotDePass='".$motdepasse."';";

6 réponses

M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
28 août 2009 à 13:04
Bonjour,

Ceci devrait fonctionner:
$reqchaine="SELECT * FROM users WHERE Nom='".$nom."' AND MotDePass='".$motdepasse."' ";


Le ";" c'est que pour les fins d'instructions SQL.
0
jambondardennes Messages postés 481 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 6 septembre 2017 38
28 août 2009 à 13:05
$reqchaine="SELECT * FROM users WHERE Nom='$nom' AND MotDePass='$motdepasse'";
0
salah2526 Messages postés 16 Date d'inscription lundi 1 juin 2009 Statut Membre Dernière intervention 23 octobre 2009
28 août 2009 à 14:09
Merci les deux methodes marchent. C'est résoulu.
0
jambondardennes Messages postés 481 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 6 septembre 2017 38
28 août 2009 à 17:37
mais un truc que j'ai pas compris pourquoi faisais tu Nom='".$nom."' ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
31 août 2009 à 10:21
Tout simplement parce que c'est plus rapide.
Plus long à écrire certes, mais en temps d'exécution, la variable intégrée est plus longue.

Citation:
Cette fois nous affectons, en plus de la chaine, la variable $i qui correspond au compteur des 3 millions d'itérations.
//1° cas
$chaine='Ceci est une variable : '.$i;

//2° cas
$chaine="Ceci est une variable : ".$i;

//3° cas
$chaine="Ceci est une variable : $i";

Durée en s
1° cas 3.96654582024
2° cas 3.97251200676
3° cas 4.95615792274

Source: https://m-fernandez.developpez.com/articles/php/bench/
_________________________

Voilà pourquoi je mets toujours mes variables en concaténation de la chaine et non à l'intérieur de la chaine.
0
jambondardennes Messages postés 481 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 6 septembre 2017 38
31 août 2009 à 12:41
ok merci pour l'info ;)
0