Mysql 用动态查询搜索关键字

Mysql 用动态查询搜索关键字,mysql,dynamic,Mysql,Dynamic,需要快速帮助。 我正在为关键字创建一个动态MySQL查询,只想搜索那些超过3个字符的关键字。我已经创建了查询,但我不知道如何只搜索三个以上的字符? 这是我写的问题 $returned_results = array (); $where = ""; $keywords = preg_split('/[\s]+/', $keywords); $total_keywords = count($keywords); foreach (

需要快速帮助。 我正在为关键字创建一个动态MySQL查询,只想搜索那些超过3个字符的关键字。我已经创建了查询,但我不知道如何只搜索三个以上的字符? 这是我写的问题

$returned_results = array ();
        $where = "";

        $keywords = preg_split('/[\s]+/', $keywords);
        $total_keywords = count($keywords);

        foreach ($keywords as $key=>$keyword)
        {
            $where .= "keywords LIKE '%$keyword%'";
            if ($key != ($total_keywords - 1))
                $where .= " OR ";
        }


    $query = "SELECT title, url FROM pages WHERE $where";

在where子句中添加以下代码

and CHAR_LENGTH('keywords') > 3

在where子句中,您可以得到关键字长度超过3的行,您可以在下面添加代码

and CHAR_LENGTH('keywords') > 3
使用此子句,您可以获得关键字长度超过3个字符的行,您可以使用它来筛选长度超过3个字符的关键字

foreach ($keywords as $key=>$keyword){
    if(strlen($keyword) > 3){
            $where .= "keywords LIKE '%$keyword%'";
            if ($key != ($total_keywords - 1))
                $where .= " OR ";
    }
}
您可以使用筛选长度大于3个字符的关键字

foreach ($keywords as $key=>$keyword){
    if(strlen($keyword) > 3){
            $where .= "keywords LIKE '%$keyword%'";
            if ($key != ($total_keywords - 1))
                $where .= " OR ";
    }
}

萨利姆不仅要问问题,还要检查答案,给答案打分,然后投票确认正确。谢谢!不要只问问题,试着检查答案,给他们打分,然后投票确认他们是正确的。谢谢