[@徐雷frank][¥20]多个条件进行筛选查询的时候,怎么设计比较好?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

[@徐雷frank][¥20]多个条件进行筛选查询的时候,怎么设计比较好?

晓生寒 2018-12-14 15:32:37 2159

php,pdo方式,没用任何框架。这是前提条件,不可改变。

比如,现在只有一张学生表student,包含了所有学生相关信息(id,学号,姓名,班级。。。)。

比如班级筛选,我可以选1班,2班,3班,或者选“任何班级”。

类似这样的筛选条件,非常多。

如果班级参数是”任何班级”,语句就是select from student;不是“任何班级”,语句就是select from student where class = ?。

关键是这样的筛选条件实在是太多了,每一个筛选条件都有“任何”这样一个选项。还有很多筛选选项是类似年龄10-20这样的范围,还有的是类似名字包含“飞”,就是like “%飞%”这样的形式。

如果我针对这么多筛选项一个个判断,那要写太多的判断代码,可能出现的sql语句形式也太多了,难道我要针对所有出现的情况去执行不同的sql语句吗?

SQL PHP
分享到
取消 提交回答
全部回答(1)
  • 徐雷frank
    2019-07-17 23:21:02

    1、组合拼接SQL语句,不需要每种情况写一次SQL。
    2、String sql = "select from student where 1=1 ";
    if(全选)
    {
    sql = sql + " and class in (1,2,3) ";
    }else
    {
    sql = sql + " and class =? ";
    }
    3、对于Like,注意拼接时候,检查过滤参数,防止SQL注入。

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题