SQL, ignore a causa porque o valor do PHP está vazio

Alguém sabe como obter uma consulta mysql para ignorar uma condição certa se o valor do PHP estiver vazio. Estou tentando criar um motor de busca avançado com muitas condições estritas onde filtrar pesquisas, mas gostaria que o SQL ignore algumas das causas se o valor PHP estiver vazio. Por exemplo:

$condition_1 = ' '; $condition_2 = 'Random'; mysql_query("SELECT something FROM table WHERE row_1='$condition_1' && row_2='$condition_2'") 

Haverá 15 casos em causa na consulta, então qualquer coisa que implique fazer várias consultas para diferentes combinações de pesquisas não é possível.

$ condition_1 está vazio e mostrará resultados apenas aqueles sem valor na row_1, mas eu quero apenas que a consulta ignore a condição row_1 quando o valor PHP, $ condition_1, estiver vazio. Como eu faria isso?

Você pode construir sua condição de local dinamicamente, observe que isso também funciona se ambas as condições estiverem vazias

 $sql = "SELECT something FROM table where 1 "; if(trim($condition_1) != '') $sql .= " AND row_1='$condition_1'"; if(trim($condition_2) != '') $sql .= " AND row_2='$condition_2'"; mysql_query($sql);