0

私の質問は単純ですが、私が信じている解決策はそれほど単純ではありません。

studentsそこで、 PHP と mySQL を使用して学生の名前を使用してテーブルをクエリする効果的な方法を探しています。現在、私はこのコードを持っています:

 SELECT * from students 
 WHERE student_number='$searchKey' //can also search using student number
 OR student_fname LIKE '%$searchKey%'
 OR student_lname LIKE '%$searchKey%'
 OR concat(student_lname,' ',student_fname) LIKE '%$searchkey%'

$searchKey検索変数はどこにありますか。このタイプのデータベース クエリは、1 つの単語または 1 つの名前のファースト ネームに対して十分に効果的です。

問題は、"John James Smith" を探しているのに、彼の名前が "John Smith" しかわからない場合はどうするかということです。「John James Smith」のレコードを取得するにはどうすればよいですか? すべての答えは高く評価されます。前もって感謝します。

4

2 に答える 2

1

スペースを交換しようとしています%

LIKE "%John%Smith%"

「ジョン・ジェームス・スミス」を返します

キャラクターを入れ替えるには、次のようにします。

$searchKey = str_replace(' ', '%', $searchKey);
于 2013-09-16T08:21:42.380 に答える
0

「%$searchKey%」のように WHERE (student_number+student_fname +student_lname) を試してください

于 2013-09-16T10:04:24.333 に答える