Tach!
für den kontextwechsel nutze ich htmlspecialchars.
Falscher Kontext, SQL ist nicht HTML. Jeder Kontext benötigt seine eigene Behandlung.
Der knackende Punkt aktuell ist das implode und die checkboxen
Dann ist das eine gute Gelegenheit, Debugging zu lernen. Stehen vor der Operation die erwarteten Werte in den beteiligten Variablen? Erzeugt die Operation das gewünschte Ergebnis? Im einfachsten Fall fügt man Kontrollausgaben mit echo ein. Das ist aber sehr ungenau, weil beim echo die Werte zu String konvertiert werden. Besser nimmt man var_dump(), das zeigt Wert und Typ an.
dedlfix.