0

文字列のすべての単語がフィールドにある必要があるが、間違いや不完全な単語を受け入れる必要がある場合に、照合クエリを実行したいと考えています。

私の実際のスクリプトは次のようなものです:

$search= '+'.str_replace(" ","% +",$_POST["searchtext"]);

これで、「this is my text」を「+this +is +my +text」に変換して、すべての単語が検索に必要になるようにします。

$query = $dbh->prepare("SELECT name,surname MATCH (name,surname) AGAINST (:search IN BOOLEAN MODE) AS coincidences FROM users MATCH (name,surname) AGAINST (:search2 IN BOOLEAN MODE) ORDER BY coincidences");
$query->execute(array('search' => $search,'search2' => $search));

問題は、DB に「Stephen Hawking」があり、「Stephen Hawk」を検索すると表示されないことです...どうすれば修正できますか?

どうもありがとうございました

4

1 に答える 1

0

終わった...

$search= '+'.str_replace(" ","* +",$_POST["searchtext"]).'*';

:D

于 2015-04-09T18:38:25.750 に答える