【发布时间】:2013-01-11 08:47:00
【问题描述】:
我正在使用 Java 1.7 来制作如何连接到 MySQL DB 的应用程序。但是我在插入带有特殊字符(如“,\,\n”)的值时遇到了很多问题。 我正在尝试手动更改此值。 我正在使用这种方法进行更改。
public static String StringToSQL(String chain) {
chain.replaceAll(Matcher.quoteReplacement("\\"),
Matcher.quoteReplacement("\\\\"));
chain.replaceAll(Matcher.quoteReplacement("\""),
Matcher.quoteReplacement("\\\""));
chain.replaceAll(Matcher.quoteReplacement("\n"),
Matcher.quoteReplacement("\\n"));
chain.replaceAll(Matcher.quoteReplacement("'"),
Matcher.quoteReplacement("\\'"));
return chain;
}
我想尝试改造一个像这样的链条
The cat says "meaw meaw"
进入
the cat says \"meaw meaw\"
MySql 语法没有问题
例如sql必须是
INSERT INTO AnimalSays (Phrase) VALUES ("\"Meaw Meaw\"");
但我发送
INSERT INTO AnimalSays (Phrase) VALUES (""Meaw Meaw"");
语法错误如何破坏应用程序
【问题讨论】:
-
问题不在于使用占位符(又名准备好的语句)。请遵循适用的数据库教程并查看 bobby-tables.com,其中包括一些各种 Java 示例。
标签: java mysql query-string