SQL查询WHERE(列)= * any *?

时间:2015-07-31 17:49:19

标签: php html sql pdo

我有一个SQL查询,它使用来自html下拉表单的WHERE过滤器。每个下拉过滤器都有一个空白'我想表达的选项"不要过滤"。

我第一次尝试完成此操作是使用if语句将WHERE语句附加到我的查询中,这样如果过滤器设置为“空白”,它就不会附加WHERE子句所有。问题是,如果我使用令牌进行准备好的查询,我会得到一个不可预测的令牌数量,如果任何过滤器被设置为“空白”,则会发出警告警告。 (因为现在我的查询中缺少令牌)。

是否有一种更简单的方法可以让空白'告诉SQL什么都不过滤?

2 个答案:

答案 0 :(得分:1)

WHERE是SQL中的过滤子句。如果您不想过滤,则只需省略WHERE条款。

SELECT * FROM table

还可以指定一个始终为true的条件(如果使用PhpMyAdmin,它是SQL选项卡中的默认行为)。

SELECT * FROM table WHERE 1

答案 1 :(得分:0)

从表格中选择*(@filter ='空白'或"您的声明在这里")