Page 1 sur 1
blocage suite syntax
Posté : 30 janv. 2010, 10:51
par william5398
Bonjour, j'ai créé un forum avec 2 tbl sur sql, question-réponses, tout fonctionne tant que je n'introduis pas UNE APOSTROPHE ( ' );sql me renvoie alors un erreur: you have an error in you SQL syntax, check the manual......j'avais eu un problème avec les accents aigus ou autres, résolu avec charset ISO-8859-1. est-ce de la même source et comment résoudre?? D'avance merci William539
Re: blocage suite syntax
Posté : 30 janv. 2010, 13:03
par Victor BRITO
L'apostrophe (ou plutôt le guillemet simple) est un caractère sensible, puisque, comme en PHP, il est susceptible de délimiter une chaîne de caractères. C'est pourquoi, utilisé en tant que tel, il doit être échappé, comme suit :
SELECT colonne FROM une_table WHERE colonne = 'Une chaîne comportant des guillemets qu\'il convient d\'échapper';
ou
SELECT colonne FROM une_table WHERE colonne = 'Une chaîne comportant des guillemets qu''il convient d''échapper';
Voir le
manuel MySQL pour plus de précisions.
Lorsque l'on construit une requête SQL en PHP susceptible de comporter des chaînes de caractères avec des guillemets, pour éviter une erreur de syntaxe (ainsi qu'une tentative d'attaque par injection SQL), on procède comme suit, au choix :
- on utilise la fonction mysql_real_escape_string () ;
- ou, si l'on utilise PDO :
Re: blocage suite syntax
Posté : 30 janv. 2010, 15:18
par william5398
Merci Victor, J'aimerais utiliser 'mysql_real_escape_string()' mais je ne vois pas ou l'introduire dans une requete tel que: "Insert into $tbname(intitule, nom, prenom) VALUES('$intitule', '$nom', '$prenom')" ; $result=mysql_query($sql) or die(mysql_error()); if(result){echo OK;}else{NONOK;}
william539
Re: blocage suite syntax
Posté : 30 janv. 2010, 15:48
par Victor BRITO
C'est très simple.
$sql = "INSERT INTO ".$tbname." (intitule, nom, prenom) VALUES ('".mysql_real_escape_string ($intitule)."', '".mysql_real_escape_string ($nom)."', '".mysql_real_escape_string ($prenom)."')";
Re: blocage suite syntax
Posté : 30 janv. 2010, 16:01
par william5398
je ne peux que me confondre en remerciements, ça fait 3 jours que je sèche, j'ai au moins appris qqchose grâce à toi. et ça fonctionne à merveille .Merci encore
william539
Re: blocage suite syntax
Posté : 29 janv. 2011, 16:37
par Yanou
Je présente mes plus sincères salutations au grand Victor, que dis-je, à l'immense Victor qui m'a enlevé une épine du pied en plus d'avoir sauvé mon couple, mon écran et mon clavier ! =D> =D> =D>