私のウェブサイトには検索フィールド機能があり、以下のPHPコードがあります。
if(isset($_GET['search_ti']) && $_GET['search_ti'] != "")
{
$search_ti = preg_replace('#[^a-z 0-9?!-]#i', '', $_GET['search_ti']);
$sqlCommand = "
SELECT * FROM page WHERE title LIKE '%$search_ti%' OR body LIKE '%$search_ti%'
";
$result = $mysqli->query($sqlCommand) or die(mysql_error());
...
URL変数search_ti
は、URLから取得した検索のキーワードです。例えば:
searchResult.php?search_ti=home
キーワードがMySQLテーブルで見つかった場合、結果は表示され、エラーはありません。
ただし、キーワードが見つからない場合、Webブラウザは以下のエラーを生成します。
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-4,4' at line 1
私のコードの何が問題になっていますか?
追加情報:
完全なPHPコード:http://jsfiddle.net/eQSZc/
キーワード:家。エラーは、キーワードがテーブルに見つからない場合にのみ表示されます。