Java 如何";“逃避”;一个完整的字符串-一个SQL查询

Java 如何";“逃避”;一个完整的字符串-一个SQL查询,java,sql,mysql,escaping,Java,Sql,Mysql,Escaping,当我将相对路径作为字符串添加到SQL查询时,所有\将被删除 我正在尝试添加字符串(“pics\\\”+onlyFile),正如您所看到的,我已对\字符进行了转义,因此我不明白为什么要删除它。onlyFile是包含文件名的变量 SQL语句前面的“src”变量(我正在讨论的那个)的值是正确的,因此当它被添加到SQL查询中时会发生一些事情。\也是一个,所以需要将\传递给它 因此,将转义字符串加倍应该可以: "pics\\\\" + onlyFile 当然,如果onlyFile有转义字符,您也需要将它

当我将相对路径作为字符串添加到SQL查询时,所有\将被删除

我正在尝试添加字符串
(“pics\\\”+onlyFile)
,正如您所看到的,我已对\字符进行了转义,因此我不明白为什么要删除它。onlyFile是包含文件名的变量

SQL语句前面的“src”变量(我正在讨论的那个)的值是正确的,因此当它被添加到SQL查询中时会发生一些事情。

\
也是一个,所以需要将
\
传递给它

因此,将转义字符串加倍应该可以:

"pics\\\\" + onlyFile

当然,如果
onlyFile
有转义字符,您也需要将它们加倍转义。

您使用的是什么语言?什么SQL数据库?Java(servlet)和MySQL@hgulyan-“尝试这种有时有效的结构”远不如解释为什么那么好。解释胜过神秘的巫毒。哈哈。非常有趣。如果成功了,我会解释原因。我不确定这是否是问题所在。没有关于它是什么语言和DB的信息,我只能猜测。@hgulyan-所以,你很乐意发布可能完全错误,但可能是正确的答案,在这种情况下,你会很乐意解释为什么他们是正确的?@Oded,你很乐意写一个解决方案,它已经像是你的想法一样写出来了。听着,我承认,你的答案比我的好,它充分描述了问题和原因,但不要告诉我,在这种情况下,建议一种常见的解决方案是错误的,特别是如果它没有伤害任何东西的话。我没有解释我的解决方案的原因不是出于好意或其他原因,我只是不确定,就是这样,但建议一个可以帮助的解决方案并不是犯罪。我不想继续争论了,如果你认为我错了,我们就到此为止。我没什么要说的了。如果你不确定,那么解释它为什么会起作用就更重要了。这有助于提问者确定解决方案是否适用于他们的问题。