让我们说,我有以下问题:
SELECT * FROM foo WHERE bar=$bar
如何传递一个值,使其完全忽略条件并返回值bar
包含的行?
我已经找到了Getting mysql to ignore where condition,但我必须修改大量的查询,所以我想知道是否有更简单的方法。
P.S bar
和$bar
是整数
答案 0 :(得分:0)
假设您正在使用字符串字段。
您可以将其更改为:
SELECT * FROM foo WHERE bar like $bar
然后将$ bar设置为%
虽然会受到性能影响!
如果将它们放在引号中,它将与整数一起使用:
select * from sites where siteid like '4037';
然后获取所有内容:
select * from sites where siteid like '%';
最好通过恕我直言重写查询
答案 1 :(得分:0)
我不明白。您想使用WHERE
子句,但在返回的数据中忽略它?完全放弃条款:
SELECT * FROM foo
答案 2 :(得分:0)
您可以使用1=1
SELECT * FROM foo WHERE 1=1 AND bar=$bar