Mysql 自动完成问题

Mysql 自动完成问题,mysql,autocomplete,Mysql,Autocomplete,我正在使用执行自动完成搜索。问题在于SQL中,只有在多个单词按顺序排列时,才会显示自动完成 示例:敏捷的棕色狐狸跳过了懒狗。 如果搜索quick,它将显示包含quick的所有结果。但是如果我搜索quick lazy,它不会显示任何内容。另一方面,如果我搜索quick brown,它将显示上面的句子 如何使搜索以任意顺序自动完成多个单词 这是SQL: $sRequest = "SELECT * FROM `table` WHERE `columnname` LIKE '%{$sParam}%'

我正在使用执行自动完成搜索。问题在于SQL中,只有在多个单词按顺序排列时,才会显示自动完成

示例:敏捷的棕色狐狸跳过了懒狗。

如果搜索
quick
,它将显示包含
quick
的所有结果。但是如果我搜索
quick lazy
,它不会显示任何内容。另一方面,如果我搜索
quick brown
,它将显示上面的句子

如何使搜索以任意顺序自动完成多个单词

这是SQL:

  $sRequest = "SELECT * FROM `table` WHERE `columnname` LIKE '%{$sParam}%' ORDER BY `columnname`";
        $aItemInfo = $GLOBALS['MySQL']->getAll($sRequest);
        foreach ($aItemInfo as $aValues) {
            echo $aValues['columnname'] . "\n";
        }

您应该拆分单词数组以搜索并生成如下查询:

SELECT * FROM `table` 
WHERE `columnname` LIKE '%{$sParam1}%' 
  AND `columnname` LIKE '%{$sParam2}%'
  AND `columnname` LIKE '%{$sParam3}%'
ORDER BY `columnname`";