条件mysql查询的最佳实践

时间:2016-07-07 17:11:45

标签: mysql conditional

我正在构建一个网站,我需要根据用户输入构建一个mysql查询,不仅值,而且查询本身也需要更改。我到目前为止是一个有条件的if-else解决方案,但它非常混乱......

示例:

public function getUsers($options){
    $query = "SELECT * FROM Users"; // basic query
    if($options->getAdminsOnly()){
        $query .=" WHERE type='admin' ";
    }
    if($options->getOrderBy() !=null){
        $query .=" ORDER BY ".$options->getOrderBy();
    }
    if($options->groupBy() !=null){
        $query .=" GROUP BY ".$options->groupBy();
    }
    if($options->getLimit() !=null){
        $query .=" LIMIT ".$options->getLimit();
    }
    if($options->getOffset() !=null){
        $query .=" OFFSET ".$options->getOffset();
    }
    ....
    ....
}

在连接等情况下会变得更加混乱......有更清洁的方法吗?

1 个答案:

答案 0 :(得分:0)

已经有许多对象关系映射(ORM)库可用于帮助您构建SQL查询。我不会重新发明轮子,看看:

Good PHP ORM Library?