Hallo Linuchs,
ich habe noch etwas recherchiert, denn ein DUPLICATE KEY in einem SELECT Statement ist eigentlich der totale Unsinn, duplicate keys sind etwas, das bei UPDATE oder INSERT passieren kann.
'group_key' ist ein technischer Schlüssel, den der DB Server intern bei der Ausführung von GROUP BY verwendet.
Und siehe da: https://bugs.mysql.com/bug.php?id=58081
Deine Maria ist relativ alt und könnte diesen Bug ebenfalls haben (der wurde in MYSQL 5.7.? gefixt).
So - und nun hast Du ein Problem, denn der GROUP BY kommt aus der SQL Injection und damit ist der Angriff offenbar durch deine addslashes Maskierung durchgekommen. Entweder hast Du addslashes an dieser Stelle vergessen, oder irgendwie seinen Input statt des Outputs verwendet.
Dringender Appell: Ermittle den korrekten Datentyp für diese ID. Ist sie integer, prüfe die übergebene ID ebenfalls auf "nur Ziffern". Steht da was anderes, führe das SQL nicht aus. Eine weitergehende Maskierung ist bei bestandener Prüfung nicht mehr nötig.
Rolf
sumpsi - posui - obstruxi