Dit
...snip... ) LIKE '%' LOWER(:wildcard) '%' OR ...snip
is onjuist. Je hebt een string ('%'
) gevolgd door een functieaanroep (LOWER()
) gevolgd door nog een string, en ze zitten daar gewoon - geen verbindende logica, geen aaneenschakeling, blah blah blah.
Het zou moeten zijn
... LIKE CONCAT('%', LOWER(:wildcard), '%') OR ...
En standaard zijn mysql-vergelijkingen niet hoofdlettergevoelig, tenzij u een binary
forceert vergelijking, of u gebruikt een hoofdlettergevoelige sortering op uw db/table.