mysql动态查询条件

mysql动态查询条件,第1张

$sql = "SELECT * FROM user WHERE name LIKE '%".$name."%' AND age LIKE '%".$age."%' AND sex LIKE '%".$sex."%' ORDER BY id ASC

仔细看看吧 相信你能看懂的。

-----------------------------------------------------------

楼主..模糊查询的条件为空的时候是完全匹配的。

$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注入漏洞的写法,请真正写代码的时候务必注意,在此只是给出处理方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9650472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存