Generando consulta SQL basada en parámetros de URL

Suponga que mi URL eshttp://something.com/products.php?brand=samsung&condition=new

Para la consulta anterior estoy usandoisset() y$_GET[]) funciona junto con muchasif-else declaraciones en PHP para generar una consulta sql para mostrar los productos que satisfacen los criterios de búsqueda.

Por ejemplo: si estoy tratando solo conbrand ycondition parámetros, entonces así es como generaré la consulta:

$sql = "select * from products where 1=1 ";
if(isset($_GET['brand']))
{
     if(isset($_GET['condition']))
     {
         $sql = $sql + "and brand=".$_GET['brand']." and condition=".$_GET['condition'];
     }
}
else
{
     if(isset($_GET['condition']))
     {
         $sql = $sql + "and condition=".$_GET['condition'];
     }
     else
     {
         $sql = $sql + ";";
     }
}

Ahora suponga que mi URL tiene 10 parámetros (o más). En este caso, usandoif-else no está del todo bien. ¿Cómo puedo generar la consulta sin usar tantosif-else declaraciones? ¿Hay algún método / script / biblioteca mejor disponible para hacer esto?