MYSQL-查询使用' like'但只搜索特定的列

时间:2015-07-29 16:17:53

标签: php mysql

我使用此查询选择数据:

mysql_query("select * from tenders where Heading LIKE '%{$key}%' OR Date LIKE '%{$key}%'");

现在有一个字段status,表示投标是在线还是离线,即在网站上显示或隐藏。

我想只选择状态为在线的那些投标。 谁能帮我这个?我无法使用多个where子句where status=online

如何为此编写查询?

2 个答案:

答案 0 :(得分:3)

您没有编写多个WHERE子句,您在WHERE子句中编写多个条件。 (正如您的查询已经进行了两次LIKE比较,尽管可能有一些括号来更明确地指定逻辑。)像这样:

SELECT
  *
FROM
  tenders
WHERE
  (Heading LIKE '%{$key}%' OR Date LIKE '%{$key}%')
  AND status = 'online'

另外,我认为您的意思是status,而不是。否则,整件事情变得更加混乱......

答案 1 :(得分:0)

mysql_query("SELECT * FROM tenders WHERE Heading = '%{$key}%' OR Date = '%{$key}%'");

使用WHERE x = y或者z = a应该适用于您的情况,我对您想要的内容感到有点困惑,但这应该有所帮助!

相关问题