我有这样的SQL查询:
StringBuilder sSelect = new StringBuilder("SELECT C ");
StringBuilder sFrom = new StringBuilder(" FROM CUSTOMER as C ");
if (phoneNumber != null)
{
sFrom.append(" where C.number = ").append(phoneNumber);
}
我想要一个防止SQL注入的解决方案。这样的事情很好:
sWhere.append(" I.indicNom=").append(":sPhoneNumber").append(" ");
parameters.put("sPhoneNumber", phoneNumber);
我的目的是使用preparedStatement。是否可以逐步创建SQL?
例如:
select * from tableX if(condition) {add where X=:Y } else {do nothing}
而不是
select * from tableX where X=?
答案 0 :(得分:0)
没有通用方法可以发现和阻止所有类型的SQL注入攻击先验。