0

Sphinxsearch を自分のサイトに統合し、Sphinx を使用するように古いコードを書き直しています。私が得た問題は、SphinxQL の MATCH 内の特殊文字にあります。
例 : H&M を検索したい
単純な mysql を使用すると、何千ものレコードを取得できるので、データベースでその単語を含むタイトルを取得したと確信しています。
MATCH で拡張クエリ構文は必要ありません。

$q = "h&m";  
$spxq = "SELECT * FROM sphinx_index WHERE MATCH(:query) LIMIT 0,10";  
$stmt = $DB->prepare($spxq);  
$stmt->bindValue(':query', $q, PDO::PARAM_STR);  
$stmt->execute();  
$res = $stmt->fetchAll(PDO::FETCH_ASSOC); 

これは結果を返しません。
この後、私は $q をエスケープしようとしました:

$q = "h\&m";

まだ動作していません。二重エスケープも試しましたが、まだ動作していません。
どんな助けでも感謝します。

4

1 に答える 1