pues es obvio... si alguno de los dos valores esta vacío, pues esta mal echa tu consulta....
debes estructurarla mejor...
Código PHP:
$sql = 'SELECT * FROM tabla';
if ( ! empty($foo))
{
$sql . ' a_col=' . $foo ;
}
if ( ! empty($bar))
{
$sql . ' AND b_col=' . $bar;
}
solo usa tu creatividad, suerte!