java PreparedStatement没有为参数1指定值
有问题的是,需要设置的是一个自动递增的整数,那么我该如何指定呢
PreparedStatement stmt = conn.prepareStatement("INSERT INTO `"+OnlineUsers.table2+"` VALUES (?,?,?)");
//What I do here
stmt.setInt(2, currentonline);
stmt.setDate(3, new java.sql.Date(b.getTime()));
stmt.execute();
# 1 楼答案
最好明确指定列名:
然后:
这将使您的代码对数据库中更改的列顺序具有健壮性
注意:如果
OnlineUsers.table2
来自不受信任的来源,则应验证此字符串,否则可能会受到SQL注入攻击