Mysql
 sql >> Database >  >> RDS >> Mysql

ricerca di qualsiasi parola usando LIKE %

Potrei aver frainteso, ma hai pensato di fare solo questo:

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

se l'utente inserisce più di una parola, separate da spazi bianchi, dividere semplicemente la stringa in parole e modificare la query in

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