sql >> Database >  >> RDS >> Mysql

elk woord zoeken met LIKE %

Ik heb het misschien verkeerd begrepen, maar heb je overwogen om dit gewoon te doen:

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

als de gebruiker meer dan één woord invoert, gescheiden door spaties, splitst u de tekenreeks eenvoudig in woorden en wijzigt u de zoekopdracht in

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


  1. SQL Server:kolommen naar rijen

  2. Gegevenssynchronisatie tussen MySQL en MongoDB

  3. DBX-fout:stuurprogramma kon niet correct worden geïnitialiseerd

  4. Beschermt mysql_real_escape_string() VOLLEDIG tegen SQL-injectie?