使用MySql在JDBC中转义单引号

时间:2012-07-27 06:15:34

标签: mysql database jdbc

我已编写代码来存储数据库中新闻网站的一些标题。然而,标题还不时包含(')单引号和双引号,这在尝试将其插入表中时会导致错误。

最好的解决方法是什么?

这是我的代码:

Statement st = con.createStatement();
int val = st.executeUpdate("INSERT into imageinfo(imageurl,title,headline,website) VALUES('"+imageurl+"','"+title+"','"+headline+"','"+website+"')");

2 个答案:

答案 0 :(得分:4)

您应该考虑使用预编译SQL查询的Prepared Statements。根据您的数据来自哪里,这也可以防止SQL注入。

使用预准备语句的另一个好处是,每次执行时都可以使用不同的参数重用相同的语句。

答案 1 :(得分:0)

我认为你可以使用反斜杠(在sql指令中)转义字符...

另一种方法是用双引号括起包含单引号的值。