我正在使用Java将一些数据插入到mysql中。但是将撇号(标点符号)放入数据(附近的每周跟踪器表明作业增长)它给了我MySQLSyntaxErrorException。请给我适当的解决方案来处理
代码我有isa
void insert(String a1,String a2, String a3) {
String nt = a2;
String pt = a3;
String tb = a1;
query = "insert into "+tb+"(head,des) values('"+nt+"','"+pt+"')";
try {
stmt.executeUpdate(query);
System.out.println("inserted"); //con.close();
} catch (SQLException ex) {
// Logger.getLogger(conec.class.getName()).log(Level.SEVERE, null, ex);
ex.printStackTrace();
}
}
答案 0 :(得分:6)
Use query parameters,不是字符串连接。这将允许数据库驱动程序格式化您发送到数据库服务器的值,而不是自己重新发明此轮。
String sql = "insert into ... values (?, ?)";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, nt);
stmt.setString(2, pt);
stmt.executeUpdate();
答案 1 :(得分:1)
query = "insert into "+tb+"(head,des) values('"+nt+"','"+pt+"')";
应该是
query = "insert into "+tb+" (head, des) values ('"+nt+"','"+pt+"')";
请进行这些更改,如果仍有问题请告诉我....