Accueil > Forum > > > > Erreur de syntaxe après requête SQL insert
Erreur de syntaxe après requête SQL insert
mardi 9 janvier 2007 à 16:15:47 |
Erreur de syntaxe après requête SQL insert

syl62
|
Bonjour à tous et meilleurs voeux pour cette année 2007!!!
je rencontre un problème concernant une requête SQL INSERT. Pour un champ bien précis, dès que je met le caractère ', il me met un message d'erreur de syntaxe. Si je l'enlève, il m'insère bien toute les données. Comment faire pour autoriser ce caractère?
J'ai regardé un peu partout et je n'ai rien trouvé qui se rapproche le plus de ce problème...
Le code de la page est ci-dessous : " <!--#include file="_connexion2.asp"-->
<%fcat=Request.Form("cat") fref1=Request.Form("ref1") fnom=Request.Form("nom") fdesign=Request.Form("design") fdescrip=Request.Form("descrip") fdate=Request.Form("date") ftype=Request.Form("type") fcable=Request.Form("cable") fphoto1=Request.Form("photo1") ffile1=Request.Form("file1") ffile2=Request.Form("file2") faff=Request.Form("aff")%>
<tr>
Ajout d'une nouvelle mise à jour <form method="POST" name="maj" action="Ajouter_maj.asp"> Photo produit * : <input type="text" value="<%=fphoto1%>" name="photo1" size="20"><br> réf produit * : <input type="text" value="<%=fref1%>" name="ref1" size="20"><br> Nom produit * : <input type="text" value="<%=fnom%>" name="nom" size="50"><br> Type de produit * : <input type="text" value="<%=ftype%>" name="type" size="50"><br> Description maj * :<textarea name="descrip" rows=5 cols=55><%=fdescrip%></textarea><br> Date mise à jour * : <input type="text" value="<%=fdate%>" name="date" size="20"><br> Type de cable * : <input type="text" value="<%=fcable%>" name="cable" size="20"><br> Fichier 1 * : <input type="text" value="<%=ffile1%>" name="file1" size="20"><br> Fichier 2 : <input type="text" value="<%=ffile2%>" name="file2" size="20"><br> <br> <input type="hidden" value="1" name="aff"> <input type="submit" value="Valider" name="action"> </form>
<% if fnom<>"" then Requete = "Insert Into MAJ (Photos,Ref,Nom,Type,Description,Date_Version,Cable,Fichier1,Fichier2) Values ('"&fphoto1&"','"&fref1&"','"&fnom&"','"&ftype&"','"&fdescrip&"','"&fdate&"','"&fcable&"','"&ffile1&"','"&ffile2&"')" Set rs = Conn2.Execute(Requete) response.write("Mise à jour ajoutée avec succés") end if %>
<% Conn2.close Set Conn2=nothing %> "
Merci pour l'aide que vous pourrez m'apporté.
|
|
mardi 9 janvier 2007 à 17:19:53 |
Re : Erreur de syntaxe après requête SQL insert

Nurgle
|
Réponse acceptée !
Salut, L'apostrophe ' est un caractère spécial, tu dois toujours les doubler avant une insertion SQL, pour tous tes champs. Exemple : ftype=Replace(Request.Form("type"), "'","''") Bonne journée, A++ 
Nurgle (Antoine) - MSP
|
|
mardi 9 janvier 2007 à 20:42:34 |
Re : Erreur de syntaxe après requête SQL insert

jesusonline
|
ARGGGGG :-| beurk !!! ok j'exagere peut être un peu mais ce que tu fais est horriblement pas beau !!! Imagine que je suis un utilisateur stupide et qui tape "'); drop table users;--" à ton avis il se passe quoi ? et encore là l'utilisateur et stupide donc il réfléchit pas mais pour peu qu'il cherche un peu qu'il se rende compte qu'il est authentifié en "sa" il va pouvoir faire un peu tout ce qu'il veut sur la base, le serveur et peut etre pire encore ... bref fais TRES attention avec ca :-) (je pense que la le message est bien passé :p) Pour info, avec une technologie non obsoléte (ASP3 doit avoir autour de 8ans ...), on peut tout simplement faire SqlCommand command = new SqlCommand("Select * from toto where totoID = @totoID", conn) command.Parameters.Add(new SqlParameter("@totoID", tb.text)); command.ExecuteQuery(); Ainsi ASP.net offre un mécanisme qui interdit toute requete de type SQL Injection ... PS : ne prend pas mal ce que je dit, c'est juste pour te montrer que tu n'utilises pas la bonne techno et pas de la bonne facon :-) Cyril - MVS - MCP
|
|
mardi 9 janvier 2007 à 22:30:33 |
Re : Erreur de syntaxe après requête SQL insert

Nurgle
|
jesusonline > Arf, cyril, t'en fait pas un peu trop ? :p Il utilises pas forcément la mauvaise techno, c'est plutôt de façon de l'utiliser qui est pas excellente...  syl62 > Effectivement, l'erreur de syntaxe que tu obtiens n'est qu'une conséquence du trou de sécurité que cyril a pointé du doigt. Le seul moyen (en ASP3) d'empêcher qu'il soit exploité est bien de doubler les ' mais je te conseille quand même de prévoir un jour de passer à ASP.NET, qui est quand même beaucoup plus récent, gratuit (l'IDE aussi) et beaucoup mieux niveau sécurité... Surtout qu'une des raisons qui fait que l'ASP est obsolète c'est justement le manque de ces fonctions de sécurités et des autres trucs du même genre... Enfin bref, maintenant que cyril a lancé la petite pub pour ASP.NET  , je peux donner le lien qui va bien  : Le coach ASP.NETVoilà (sinon, te casses pas la tête à migrer trop vite vers ASP.NET, l'ASP ça marche, hein, mais bon... il y a des limites...) A++ 
Nurgle (Antoine) - MSP
|
|
mardi 9 janvier 2007 à 22:55:08 |
Re : Erreur de syntaxe après requête SQL insert

jesusonline
|
Quoi ? Ca se voit tant que ça j'aime pas cette vieille techno ?  Ce genre de faille de sécurité me met hors de moi, je veux donc être sur que le message est passé ! ainsi je pense que syl62 fera attention lorsqu'il fera des requetes du genre : il faut toujours penser que le client est un hacker ! et les hacker regorgent de créativité ! C'est vrai que ce serait bien de passer à ASP.net si le contexte te le permet, mais c'est pas toujours évident ... Et puis il est toujous possible d'écrire ce genre de faille en ASP.net ... et j'en ai malheureusement vu plus d'une (sur des serveurs en production c'est marrant :-p) Cyril - MVS - MCP
|
|
mercredi 10 janvier 2007 à 00:15:58 |
Re : Erreur de syntaxe après requête SQL insert

syl62
|
Bonsoir à vous et tout d'abord merci pour vos réponses....
La 1ère solution de Nurgle m'a permi de régler mon problème et je t'en remercie. Il est vrai que la technologie ASP.net doit être beaucoup mieux.... mais je ne suis pas développeur, j'esssaye de trouver des solutions qui me facilite la vie pour la mise à jour de site internet. (Accéder à la base ACCESS sans avoir à publier l'intégralité de la base à chaque fois qu'une information change....)
Maintenant le site tourne sur un serveur qui ne gère pas l'ASP.net et je n'ai pas de base SQL mais une base ACCESS, c'est pourquoi j'utilise encore l'ASP.
Il faudra effectivement que je songe à changer progressivement de technologie...
En tout cas merci encore pour votre aide et toutes vos remarques constructives.
A bientôt.
|
|
mercredi 10 janvier 2007 à 09:24:58 |
Re : Erreur de syntaxe après requête SQL insert

jesusonline
|
ASP.net est gratuit et s'installe sur tous serveur windows (sauf les très vieux OS) et contrairement à ASP il y a un éditeur très performant qui est gratuit lui aussi : Visual Web Dev Express ... tu peux aussi consulter les tutos/vidéos de la coach ASP.net. Nurgle a mis le lien plus haut. Et tu peux aussi utiliser Access (meme si je déconseil car Sql Express est plus performant et gratuit) avec ASP.net. Après c'est sur qu'il faut avoir le temps et les besoins mais tu y gagnerais énormement en productivité :-) Cyril - MVS - MCP
|
|
Cette discussion est classée dans : form, type, request, name, size
Répondre à ce message
Sujets en rapport avec ce message
VBS Synthaxe DOM pour récupérer le nom d'un element formulaire [ par polux45 ]
Salut à toutes et à tous,J'ai besoin de la synthaxe Document Object Model (HTML) pour récupérer et tester ensuite le nom d'un element de type texte co
[ASP-COM] Passer le Request.Form [ par vpoyo ]
Bonjour, et merci à ceux qui prennent la peine de lire ce message.J'aimerais faire passer les paramètres contenus dans le Request.Form à une fonction
redirection impossible [ par tommie ]
Bonjour j'ai un probleme avec une redirection d'une page ASP à une autreen fait a partir d'une page ou j'affiche des infos concernant un enfant, je pe
pb update+guillemet [ par ganbalfro ]
Bonjour, Je souhaite mettre à jours des informations concernant l’utilisateur. Cependant lorsqu’il y a un guillemet dans l’adresse il y a une erreur s
Inserer la date du jour dans une textbox [ par ManuAntibes ]
BonjourJe n'arrive pas a mettre la date du jour dans ma textbox lorsque elle est dans un FormView. Comment dois je faire, pour que ma textbox prenne l
formulaire aspemail [ par nickg ]
bonjourj'ai une erreur de formulaire ASpemail"Object doesn't support this property or method: 'Mail.Recipient' "j'arrive pas à trouver ce qu'il faut m
Mon script de formulaire est il correcte ? [ par arnaudperfect ]
Bonjour,Je suis un débutant en ASP.J'essaie de créer un script pour faire le traitement d'un formulaire (l'envoyé par email)J'ai rien pour le testé, j
Pb de guillemet !! [ par suzukMan ]
Bonsoir a tous, je devellope actuellement une application web ASP.Je doit effectué un requete pour vérifier le nom d'utilisateur et le mot de passe c'
probleme de passage de variable asp>>flash ( et non linverse) [ par mrzinj ]
Tout d'abord bonjours a tous et desolé si le message n'est pas dans la bonne categorie mais vu que mon apps sert pourun envoi de mail je me suis dit q
[c#] Modification d'un GridView [ par cnguyen ]
Bonjour, j'ai un GridView et le probleme cest que lorsque je fais modifier, rien ne se modifie...Pourquoi???Avec cette page il me dis : "@date n'est p
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Forum
RE : FORMULAIRERE : FORMULAIRE par ap24dp
Cliquez pour lire la suite par ap24dp RE : FORMULAIRERE : FORMULAIRE par jopop
Cliquez pour lire la suite par jopop RE : FORMULAIRERE : FORMULAIRE par ap24dp
Cliquez pour lire la suite par ap24dp RE : FORMULAIRERE : FORMULAIRE par jopop
Cliquez pour lire la suite par jopop
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|