Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Condições opcionais WHERE do PHP e MySQL


As outras respostas estão corretas, mas esta é uma maneira mais simples de realizar o que é necessário:
$where = array();


if($A != 'any'){ // or whatever you need
    $where[] = "A = $A'";
}
if($B != 'any'){ // or whatever you need
    $where[] = "B = $B'";
}
if($C != 'any'){ // or whatever you need
    $where[] = "C = $C'";
}

$where_string = implode(' AND ' , $where);

$query = "SELECT * FROM table";

if($where){
    $query .= ' ' . $where_string;
}

Isso permitirá qualquer combinação de condições e expansão.