你能检查一下是否会有任何结果

时间:2012-05-06 21:43:38

标签: mysql mysql5

我在搜索页面上显示Spotlight帖子。

当用户输入关键字以搜索帖子时,我想使用该关键字带来Spotlight帖子。如果没有该关键字的帖子,那么我只想从数据库中收集任何Spotlight帖子。

我的问题是,我可以在MySQL查询中检查这个问题,看看它们是否会是这个关键字的结果,如果不是,那么忽略这个关键字?

我的查询

SELECT id, title, desc 
  FROM post 
 WHERE isActive = 1 
   AND title = 'keyword'

但如果我使用此查询得到0结果,我想忽略它并改为运行

SELECT id, title, desc 
  FROM post 
 WHERE isActive = 1

2 个答案:

答案 0 :(得分:0)

desc是MySQL的reserved keyword(用于按* desc *结束顺序排序结果)。要将其用作列名,您需要将其放在反引号中

$select = " SELECT id, title, `desc` ";
$from = ' FROM post';
$where = 'WHERE isActive=1 and title="%$keywords%"';
$sql = $select.$from.$where;

答案 1 :(得分:0)

这就是我为解决问题所做的工作。

$select = " SELECT id, title, desc ";
$from = ' FROM post';
$where = 'WHERE isActive=1 and title="%$keywords%"';
$sql = $select.$from.$where;

如果没有结果则覆盖

$where = 'WHERE isActive=1';
$sql = $select.$from.$where;

如果有人知道其他任何方式,请告诉我。