2010-05-14 53 views
1

当我将一个相对路径添加到一个SQL查询作为一个字符串时,所有的\ get被删除。如何“转义”整个字符串 - 一个SQL查询

我想添加字符串("pics\\"+onlyFile),正如你所看到的,我已经脱离了\字符,所以我不明白为什么它被删除。 onlyFile是一个包含文件名的变量。

恰好在SQL语句之前的“src”变量(我正在讨论的那个变量)的值是正确的,因此当它被添加到SQL查询时会发生什么。

+0

这是什么语言? – cjk 2010-05-14 08:20:19

+1

你在用什么语言?什么SQL数据库? – Oded 2010-05-14 08:20:31

+0

正如我所说的Java(servlet)和MySQL – Ankur 2010-05-14 08:21:12

回答

3

\也是MySql escape character,所以你需要通过\\它。

所以,逃串应加倍努力:

"pics\\\\" + onlyFile 

当然,如果onlyFile有逃避,你需要加倍逃避他们太多的字符。

+0

)) – hgulyan 2010-05-14 08:28:47

+1

@hgulyan - “尝试这种有时可行的结构”与解释原因无关。解释特朗普神秘伏都教。 – Quentin 2010-05-14 08:39:07

+0

哈哈。非常有趣。如果有效,我会解释原因。我不确定这是否是问题。没有关于它和DB的语言的信息,我只能猜测。 – hgulyan 2010-05-14 08:54:30