Hi!
$benutzereingabe = $db->escape($_GET['q']); // "grün"
Dein Escaping ist aber falsch. Wenn der Nutzer ein "%" eingibt, [...] Und der Unterstrich "_" [...]
Zur Klarstellung: "falsch" im Sinne von "ergänzungswürdig". Das jetzige hilft "nur" die beabsichtigte Syntax des Statements im Allgemeinen zu sichern (sprich SQL-Injection zu verhindern). noch zwei weitere Zeichen zu beachten, die Sven ja schon erwähnt hat.
Lo!