Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我想使用java向mysql发送一个带有特殊字符的字符串_Java_Mysql_Query String - Fatal编程技术网

我想使用java向mysql发送一个带有特殊字符的字符串

我想使用java向mysql发送一个带有特殊字符的字符串,java,mysql,query-string,Java,Mysql,Query String,我正在使用Java1.7实现一个如何连接MySQL数据库的应用程序。但是在插入带有特殊字符的值时,我遇到了很多问题,如“,\,\n”。 我正在尝试手动更改此值。 我用这个方法来做改变 public static String StringToSQL(String chain) { chain.replaceAll(Matcher.quoteReplacement("\\"), Matcher.quoteReplacement("\\\\")); chain

我正在使用Java1.7实现一个如何连接MySQL数据库的应用程序。但是在插入带有特殊字符的值时,我遇到了很多问题,如“,\,\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"
进入

没有MySql语法的问题

例如,sql必须是

INSERT INTO AnimalSays (Phrase) VALUES ("\"Meaw Meaw\"");
但是我送

INSERT INTO AnimalSays (Phrase) VALUES (""Meaw Meaw"");

如果出现语法错误,使用预先准备好的语句如何中断应用程序将解决您的问题。如果设置字符串参数,它将转义所有特殊字符


问题在于没有使用占位符(即准备好的语句)。请按照适用的数据库教程进行操作,看看其中包含了哪些Java示例。谢谢。我忘了我要阻止的是mysql InyAction
INSERT INTO AnimalSays (Phrase) VALUES (""Meaw Meaw"");