0
 $word ="50%";
 $searchSQL = "SELECT * FROM discounts WHERE keyword LIKE '%$word%' ";

このクエリを実行すると、結果が返されません。問題は、mysql のワイルドカードである % 記号だと思います。その $word を検索する正しい方法は何でしょうか

4

3 に答える 3

2

%?を検索しようとしました。そうでない場合は、 に変更keyword = '%$word%'keyword LIKE '%$word%'ます。その場合は、次のようにエスケープ%します。LIKE '50\%' ESCAPE '\'":

$word ="50\\%";
$searchSQL = "SELECT * FROM discounts WHERE keyword LIKE '%$word%' ESCAPE '\' ";
于 2013-01-06T05:49:17.567 に答える
1

MySQL でクエリを実行する場合、特殊文字の前に先頭のスラッシュを追加する必要があります。このように:

$word = "50\\%";
于 2013-01-06T05:49:18.253 に答える