仔细看看吧 相信你能看懂的。
-----------------------------------------------------------
楼主..模糊查询的条件为空的时候是完全匹配的。
$sql = "SELECT * FROM user WHERE name LIKE '%%' AND age LIKE '%%' AND sex LIKE '%%' ORDER BY id ASC
下面这样子才是空值 搜不到任何东西的。
$sql = "SELECT * FROM user WHERE name LIKE '% %' AND age LIKE '% %' AND sex LIKE '% %' ORDER BY id ASC
你再仔细看看 区别 多试试...我用这么久还没见过他不好使呢。。
前面几个人也回复了,看描述,还是有些不清楚,简单分析一下你做了一个查询功能,前台可以输入查询条件,paraCode,可以查询结果paraValue。如果查询条件输入Park则返回结果5,如果查询条件是Map则返回结果6
那么你后台的sql语句应该是动态生成的,用java来判断
String ParaCode = request.getParameter("ParaCode")
String sql = "select ParaValue from table "
if(ParaCode!=nu&&!ParaCode.equals("")){
sql =+" where ParaCode = '"+ParaCode+"' "
}
xxxx//具体执行sql语句的方法名
以上方法,属于标准的sql注入漏洞,一般的系统框架会提供如何规避sql注入漏洞的写法,请真正写代码的时候务必注意,在此只是给出处理方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)