2

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

解决这个问题的最佳方法是什么?

这是我的代码:

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

2 回答 2

4

您应该考虑使用预编译 SQL 查询的预处理语句。根据您的数据首先来自哪里,这也可以防止 SQL 注入。

使用预准备语句的另一个优点是,您可以在每次执行时重复使用具有不同参数的同一语句。

于 2012-07-27T06:21:01.843 回答
0

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

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

于 2012-07-27T06:17:31.123 回答