我在搜索页面上显示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
答案 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;
如果有人知道其他任何方式,请告诉我。