Mysql
 sql >> Base de données >  >> RDS >> Mysql

recherche de n'importe quel mot en utilisant LIKE %

J'ai peut-être mal compris, mais avez-vous pensé à faire ceci :

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

si l'utilisateur saisit plusieurs mots, séparés par des espaces, divisez simplement la chaîne en mots et modifiez la requête en

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