Erreur PHP

Résolu/Fermé
hdiama Messages postés 188 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 2 janvier 2012 - 15 mars 2011 à 10:55
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 - 15 mars 2011 à 11:44
Bonjour,

Voilà ce que j'obtiens comme message d'erreur:

Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 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 '===$_POST['mot']' at line 1

Je pense que les lignes concernées sont celles qui contiennent:

$bdd->query('SELECT * FROM table where mots_cles===$_POST[\'mot\']');

Quelqu'un saurait la cause de cette erreur?

D'avance merci!



3 réponses

prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
Modifié par prosthetiks le 15/03/2011 à 11:03
Hello,

$bdd->query('SELECT * FROM table where mots_cles===$_POST[\'mot\']');

http://dev.mysql.com/doc/refman/5.0/fr/comparison-operators.html

Ensuite ton code comporte un gros problème de sécurité.
N'envoie jamais une variable POST directement dans une requête SQL. Vérifie toujours son intégrité avant (avec mysql_real_string_escape entre autre).

De la doc pour que tu comprennes: http://unixwiz.net/techtips/sql-injection.html

++
0
hdiama Messages postés 188 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 2 janvier 2012 6
15 mars 2011 à 11:41
Merci pour tes remarques :)
ça marche!
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
Modifié par prosthetiks le 15/03/2011 à 12:29
De rien, amuse toi bien ! :)

Edit: Merci de mettre le topic en résolu
0