Mysql
 sql >> Base de données >  >> RDS >> Mysql

Conditions WHERE optionnelles PHP et MySQL

Les autres réponses sont généralement correctes, mais c'est un moyen plus simple d'accomplir ce qui est nécessaire :

$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;
}

Cela permettra n'importe quelle combinaison de conditions et d'expansion.