sql >> Databasteknik >  >> RDS >> Mysql

PHP och MySQL valfria WHERE-villkor

De andra svaren är för det mesta korrekta, men det här är ett enklare sätt att åstadkomma det som behövs:

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

Detta tillåter alla kombinationer av förhållanden och expansion.



  1. drupal sql villkorliga klausuler för flera tabeller?

  2. MySQL ERROR 1005 (HY000):Kan inte skapa tabellen 'foo.#sql-12c_4' (fel:150)

  3. Hur man stänger av MySQL strikt läge i Rails

  4. MySQL datumskillnad