Dies
...snip... ) LIKE '%' LOWER(:wildcard) '%' OR ...snip
ist falsch. Sie haben eine Zeichenfolge ('%'
) gefolgt von einem Funktionsaufruf (LOWER()
). ) gefolgt von einer weiteren Zeichenfolge, und sie sitzen einfach da - keine Verbindungslogik, keine Verkettung, bla bla bla .
Das sollte es sein
... LIKE CONCAT('%', LOWER(:wildcard), '%') OR ...
Und standardmäßig wird bei MySQL-Vergleichen die Groß-/Kleinschreibung nicht beachtet, es sei denn, Sie erzwingen einen binary
Vergleich, oder Sie verwenden eine Sortierung mit Berücksichtigung der Groß-/Kleinschreibung in Ihrer Datenbank/Tabelle.