使用动态查询搜索关键字

时间:2015-12-31 09:47:27

标签: mysql dynamic

需要快速帮助。 我正在为关键字创建动态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";

2 个答案:

答案 0 :(得分:0)

在where子句中添加以下代码

    public static bool DeleteData()
    {
        bool result=true;
        string pattern = "data??.txt";
        string appPath = Path.GetDirectoryName(Application.ExecutablePath);
        var matches = Directory.GetFiles(appPath, pattern);
        foreach (string file in Directory.GetFiles(appPath).Intersect(matches))
        {
            try
            {
                File.Delete(file);
                result =true;
            }
            catch (IOException e1)
            {
                MessageBox.Show(e1.ToString());
                return false;
            }
        }
        return result;
    }

使用此子句,您可以获得关键字长度大于3的行

答案 1 :(得分:0)

您可以使用strlen来过滤长度超过3个字符的关键字。

@Bean
public RestTemplate restTemplate()
{

   RestTemplate restTemplate = new RestTemplate();
   restTemplate.setInterceptors(Arrays.asList(new CustomHttpRequestInterceptor(), new LoggingRequestInterceptor()));

   return restTemplate;
}