Dette
...snip... ) LIKE '%' LOWER(:wildcard) '%' OR ...snip
er forkert. Du har en streng ('%'
) efterfulgt af et funktionskald (LOWER()
) efterfulgt af en anden streng, og de sidder bare der - ingen forbindelseslogik, ingen sammenkædning, bla bla bla .
Det burde være
... LIKE CONCAT('%', LOWER(:wildcard), '%') OR ...
Og som standard ER mysql-sammenligninger ufølsomme mellem store og små bogstaver, medmindre du tvinger en binary
sammenligning, eller du bruger en versalfølsom sortering på din db/tabel.