0

我在搜索页面上显示 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
4

2 回答 2

0

desc是 MySQL 的保留关键字(用于以 * desc * 结束顺序对结果进行排序)。要将其用作列名,您需要将其放在反引号中

$select = " SELECT id, title, `desc` ";
$from = ' FROM post';
$where = 'WHERE isActive=1 and title="%$keywords%"';
$sql = $select.$from.$where;
于 2012-05-07T14:55:21.403 回答
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;

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

于 2012-07-02T07:52:34.067 回答