Öncelikle belirteyim; mailId seçimini dahi nasıl yaptıracağınızı bilmiyorum. Diğer alanları da en uygun biçimde seçtirmeye çalıştım..

NOT: Bunlar kafamda kurduğum kodlar. Test edilmedi...

$fields = array(
    // 'mailId' => $mailId,
    'keywords' => $_POST['keywords'],
    'minPrice' => $_POST['minPrice'],
    'maxPrice' => $_POST['maxPrice'],
);
$separators = array(
    // 'mailId' => '',
    'keywords' => 'LIKE',
    'minPrice' => '>',
    'maxPrice' => '<',
);

$select = "SELECT * FROM tabloAdi";

$output = array();

$i = 0;
foreach ($fields as $name => $value) {
    if (!empty($value)) {
        ++$i;
        if($i == 1){ $select .= ' WHERE'; }
        if($i != 1){ $select .= ' AND'; }

        $select .= $name  . ' ' . $separators[$name] . ' :' . $name;

        if($separators[$name] == 'LIKE'){
            $output[':' . $name] = '%' . $value . '%';
        }else{
            $output[':' . $name] = $value;
        }
    }
}


$query= $db->prepare($select);
$query->execute($output);