我试图在我的数据库中搜索列'product','description'和'keywords'。问题在于,当我输入表格的'description'或'keywords'列中的一个单词时,而不是'product'列时,它不显示该结果。它只显示结果,如果我键入表中的'产品'列中的单词。mysql AND语句
我不确定AND语句是否正在做我想要的。我想在这3列中搜索“喜欢”用户搜索的内容,并根据相关性对结果进行排序。任何帮助,将不胜感激。
$search_exploded = explode(" ",$searchquery);
foreach($search_exploded as $search_each)
{
$x++;
if ($x==1)
$construct .= "product LIKE '%$search_each%' AND description LIKE '%$search_each%' AND keywords LIKE '%$search_each%'";
else
$construct .= " OR product LIKE '%$search_each%' AND description LIKE '%$search_each%' AND keywords LIKE '%$search_each%'";
}
$sqlCommand = "SELECT * FROM Search WHERE $construct ORDER BY MATCH (product,description,keywords) AGAINST ('$searchquery') DESC";
眼下这个词必须是在描述,关键字,'和'产品领域,但它听起来像你想它是在任何字段(所以你应该使用'OR'来代替)。或者我不是在追问你在问什么? – Kitsune