0

PHPで人で「検索エンジン」を作りたい。私は2つの列を持っています。最初はfirst_nameで、2番目は姓で、次のSQL構文を使用します。

SELECT * 
FROM users 
WHERE first_name OR last_name LIKE '$search_term%'

first_name と last_name を含む 1 つの列を持たずに、SQL で名と姓を同時に検索するようにします。助けてください !!!!

4

1 に答える 1

0

そのはず

SELECT * 
FROM   users 
WHERE  first_name LIKE '$search_term%' AND 
       last_name LIKE '$search_term%'

ただし、上記のクエリは index を使用しないため、テーブル全体のスキャンを実行します。パフォーマンスを向上させるには、について検索してください。FULL TEXT SEARCH

補足として、変数のSQL Injection値が外部から取得された場合、クエリは脆弱です。予防方法については、以下の記事をご覧ください。を使用すると、値を一重引用符で囲む必要がなくなります。PreparedStatements

于 2013-02-24T15:07:35.933 に答える