Mysql
 sql >> Datenbank >  >> RDS >> Mysql

beliebige Wortsuche mit LIKE %

Ich habe es vielleicht falsch verstanden, aber haben Sie darüber nachgedacht, einfach Folgendes zu tun:

SELECT * FROM customer WHERE
    CONCAT(firstname, " ", lastname) LIKE '%$pattern%'

Wenn der Benutzer mehr als ein Wort, getrennt durch Leerzeichen, eingibt, teilen Sie die Zeichenfolge einfach in Wörter auf und ändern Sie die Abfrage in

SELECT * FROM customer WHERE
    CONCAT(firstname, " ", lastname) LIKE '%$word1%'
 OR CONCAT(firstname, " ", lastname) LIKE '%$word2%'
 OR CONCAT(firstname, " ", lastname) LIKE '%$word3%'
 ...