1

私はこのフォームを持っており、データベースから特定のレコードを検索するために使用しています。

これはクエリです:

$sql = "select * from `hostess` where first_name_en like '%$term' or family_name_en like '%$term%' order by `family_name_en` asc";

問題は、すなわちeleを検索すると、 elenaなどのeleを含むすべての名前が表示されるのに、 elenaと書くと何も表示されないということです。

どうして

4

3 に答える 3

1

最初の LIKE に % がありません。現在、あなたの格言は、ele で終わる名前を検索します。

  1. LIKE '%ele'- ele で終わるものすべてに一致します
  2. LIKE 'ele%'- ele で始まるすべてのものに一致します
  3. LIKE '%ele%'- ele を含むすべてのものに一致します
于 2012-09-27T16:12:51.927 に答える
0
$sql = "select * from `hostess` where first_name_en like '%$term%' or family_name_en like '%$term%' order by `family_name_en` asc";

%$term%

これを使って

于 2012-09-27T16:03:31.420 に答える
0

%値の最後に を使用しなかった理由はありfirst_name_enますか?

$sql = "select * from `hostess` where first_name_en like '%$term%' or family_name_en like '%$term%' order by `family_name_en` asc"; 

編集:大文字と小文字の問題の場合:

$term = strtolower($term);
$sql = "select * from `hostess` where lower(first_name_en) like '%$term%' or lower(family_name_en) like '%$term%' order by `family_name_en` asc"; 
于 2012-09-27T16:04:15.597 に答える