Detta
...snip... ) LIKE '%' LOWER(:wildcard) '%' OR ...snip
är inkorrekt. Du har en sträng ('%'
) följt av ett funktionsanrop (LOWER()
) följt av en annan sträng, och de bara sitter där - ingen kopplingslogik, ingen sammanlänkning, bla bla bla .
Det borde vara
... LIKE CONCAT('%', LOWER(:wildcard), '%') OR ...
Och som standard ÄR mysql-jämförelser skiftlägesokänsliga, om du inte tvingar fram en binary
jämförelse, eller så använder du en skiftlägeskänslig sortering på din db/tabell.