В простейшем случае сформировать условие из набора параметров можно вот так:
$params = [
'param1'=>'value 1',
'param2'=>'value 2'
];
$where_str="";
if(!empty($params)){
$where = [];
foreach($params as $param=>$value){
$where[]="$param = '$value'";
}
$where_str = " WHERE ".join(" AND ", $where);
}
$sql = "select * from table".$where_str;
Этот код довольно условный - тут нет защиты от sql инъекций, он не привязан к расширению для работы с БД. Но в целом так работает большинство генераторов запросов.