Bonjour.
Je me prends la tête depuis plusieurs heures sur un petit soucis de quotes.
Sur une page "formulaire.htm", j'ai un input de type texte dans lequel l'internaute peut rentrer un nom.
Sur ma page "traitement.asp", j'utilise cet input comme critère de recherche dans une requête sql :Avec cette syntaxe, cela ne fonctionne pas si l'internaute entre un nom contenant un apostrophe comme "l'école"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 name=request.form("nom") sql="select * from table1 where nom='"&name&"'"
J'ai essayé d'autres syntaxe du genreMais vbscript me retourne soit une erreur de syntaxe soit une erreur d'ouverture du recordset.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sql="select * from table1 where nom="&chr(34)&name&chr(34)&"
J'ai également essayé d'utiliser la fonction replace pour définir ma variable name (en remplaçant les apostrophes par '), et la, pas de problème pour utiliser la requête sql, mais seulement lorsque je teste la présence de doublons dans la base, il ne les trouvent pas : la valeur passée à la bdd sera l&#chr39école, mais la valeur qu'elle renverra pour le test (celle stockée dans le champ) sera l'école... D'où problème lorsque je teste la présence de doublons avec ma variable sql...
J'ai également l'impression que la syntaxe sans variablequi fonctionne sous Access et renvoie (select * from table1 where nom="l'école") ne fonctionne pas avec vbscript.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sql="select * from table1 where nom="&chr(34)&"l'école"&chr(34)
Quelqu'un aurait-il une idée, car je ne veux pas empêcher l'internaute de saisir des noms avec apostrophe, mais je ne peux tolérer les doublons...
Quel syntaxe utiliser pour ma variable sql ???
Merci d'avance.
Partager