如何在一个可以获取所有记录的语句中使用WHERE MySQL子句?我有条件地设置了WHERE条件。像...
if (this) {
$mycondition=1;
} elseif (that {
$mycondition=????
}
'SELECT * FROM table WHERE category='.$mycondition
????的价值应该是多少?所以当我将它传递给sql语句时,它会获取所有记录。我当时认为WHERE category ='*'可能有用,但事实并非如此。
答案 0 :(得分:2)
您需要逐个构建WHERE条件:
答案 1 :(得分:2)
最好的答案是根本没有WHERE
条款,如果你没有条件可以满足peufeu答案的一部分:
SELECT * FROM table;
完全有效。
但是,如果您处于必须拥有WHERE
条款的情况下(或者更容易拥有条款的情况),请按照Nanne的建议,并将“始终为真”的条件作为您的第一条款,所以像:
$query = 'SELECT * FROM TABLE WHERE true';
if (this) {
$query = $query . ' AND column=this';
}
答案 2 :(得分:1)
你可以使用这个
if(this){
$mycondition=" category=1";
}elseif(that{
$mycondition= " 1"; //1 = 'true'. You could also use "1=1
}
'SELECT * FROM table WHERE '.$mycondition