这个问题在这里已经有答案了:
陈述和准备陈述的区别(15个答案)
如何在mysql中转义撇号(')(10个答案)
上个月关门了。
我正在尝试使用 INSERT
java中的语句。但是,我使用的一个变量包含一个撇号,我不知道如何在语句中解释它。
public static void addAlbum(Album album) throws Exception {
try{
Connection conn = getDBConnection();
PreparedStatement posted = conn.prepareStatement(
"INSERT INTO album(title, year, singer, company) VALUES ('" + album.getName() +"', '"+ album.getYear() +"', '"+ album.getSinger() +"', '"+ album.getCompany() +"')"
);
posted.executeUpdate();
}
catch(Exception e) {
System.out.println(e);
}
finally{System.out.println("Insert completed");}
}
这是最重要的 album.getName()
如果检索一个字符串是“我回来了”,我该怎么做才能正确地插入这个值,而不是用撇号剪切字符串并使语句无效?
1条答案
按热度按时间f3temu5u1#
总之,所有的值都是
String
键入时,应按以下步骤操作:这也将保护您的数据库不受sql注入的影响。
注:如果
year
是一个整数,你应该这样做posted.setInt(2, album.getYear());