ユーザーがキーワードを入力して投稿を検索できる Web サイトを持っています。全文検索に Sphinx 検索を使用しています。すべてが期待どおりに機能しています。
しかし、検索クエリにいくつかの特殊文字を入力/入力すると、検索が完了せず、エラーがスローされます。
例: 検索するキーワード:
hello)
sphinxql の私のクエリ:
SELECT id FROM index1 WHERE MATCH('hello)')
私が得るエラー:
index index1: syntax error, unexpected ')' near ')'
私のphpコードは次のようになります
<?php
$sphinxql = mysqli_connect($sphinxql_host.':'.$sphinxql_port,'','') or die('ERROR');
$q = urldecode($_GET['q']);
$sphinxql_query = "SELECT id FROM $sphinx_index WHERE MATCH('".$q."') ";
?>
ユーザー入力をエスケープし、クエリがブレーキをかけずに結果セットを返すようにするにはどうすればよいですか?