echo $begrüßung;
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter,sex,teilnahme,email,datum) VALUES ('1004','anonym','a','a','a','a','a','2'' at line 1 at zum_ausflippen.pl line 37.
Da stimmt was nicht mit der Anzahl der Argumente.
Das ist irrelevant. Das Problem wurde auch so deutlich. Wenn es ein Parameteranzahl-Problem gegeben hätte, wäre das durch eine andere Fehlermeldung und nicht durch einen Syntax-Fehler angezeigt worden.
Zudem ist es vorteilhaft statt irgendwelchem Programmcode das tatsächlich versandte SQL-Statement hier einzureichen.
Das war das tatsächlich versandte SQL-Statement. Und es wurde durch den ebenfalls angegebenen Programmcode auch nicht mehr verändert. Bei Prepared Statements ist es üblich, den Befehl inklusive Platzhaltern und die Daten getrennt zu versenden. Alles weitere ist Sache der DB und vom Benutzer nicht zu beeinflussen. Selbst wenn er wollte bekommt er ein zusammengesetztes Statement gar nicht zu Gesicht. Vermutlich wird sich MySQL auch nicht die Mühe machen, das vorbereitete Statement mit den Daten zu verbinden und es nochmal neu zu parsen. Denn das würde den Vorteil Prepared Statements zunichte machen.
echo "$verabschiedung $name";