PHPで人で「検索エンジン」を作りたい。私は2つの列を持っています。最初はfirst_nameで、2番目は姓で、次のSQL構文を使用します。
SELECT *
FROM users
WHERE first_name OR last_name LIKE '$search_term%'
first_name と last_name を含む 1 つの列を持たずに、SQL で名と姓を同時に検索するようにします。助けてください !!!!
そのはず
SELECT *
FROM users
WHERE first_name LIKE '$search_term%' AND
last_name LIKE '$search_term%'
ただし、上記のクエリは index を使用しないため、テーブル全体のスキャンを実行します。パフォーマンスを向上させるには、について検索してください。FULL TEXT SEARCH
補足として、変数のSQL Injection
値が外部から取得された場合、クエリは脆弱です。予防方法については、以下の記事をご覧ください。を使用すると、値を一重引用符で囲む必要がなくなります。PreparedStatements