2010-08-22 7 views
0

quand j'insérer une valeur spécifique dans le tableau MySQL par le code i obtenir exception (1064 erreur)problème quand insérer « \ » dans le tableau MySQL

Je sais que la raison, mais je ne sais pas comment résoudre le problème, tout ce que je veux faire est de stocker le chemin relatif de mes images dans la table d'image puis je reçois cette exception tout le temps quand la chaîne insérée contient "\" ou @ "\".

comment puis-je résoudre ce problème

+0

Vous devez montrer du code. Êtes-vous d'échapper à vos données avant de l'insérer? –

+0

c'est la valeur insérée qui fait le problème chaîne dirPathToStored = "~" + "\\" + "NewsFiles" + "\\" + "News Images" + "\\" + "Unit #" + FK_UnitId. ToString() + "_" + "News #" + newsId + "\\"; –

Répondre

2

Il y a des chances que vous intégrez les valeurs directement dans votre SQL. Ne faites pas cela: utilisez plutôt une requête paramétrée, qui gardera votre code SQL séparé des données. Cela signifie que vous n'avez pas besoin de vous soucier de la mise en forme des valeurs ou des attaques par injection SQL et que vous pouvez réutiliser des instructions.

+0

quoi que je ne sais pas comment utiliser les requêtes paramétrées, mais tout ce que je veux est de résoudre le problème, je dois enregistrer le chemin de l'image, mais je reçois (1064) erreur lorsque j'utilise "\\" –

+2

@ Just-Name - Vous devriez vraiment apprendre, il y a [des milliers de ressources autour des requêtes paramétrées] (http://www.google.com/search?q=.net+mysql+parameterized+queries). SQL Injection est l'une des attaques les plus faciles à exploiter ... pourquoi ne pas résoudre 2 problèmes à la fois ici? Je promets qu'ils sont vraiment, * vraiment * facile à apprendre, jetez un oeil à un [exemple simple] (http://www.programmingado.net/a-389/MySQL-NET-parameters-in-query.aspx) . –

+0

vous avez raison, merci beaucoup pour votre aide. –