dedlfix: Max. Befehle pro MySQL-Query

Beitrag lesen

echo $begrüßung;

Die Variablenlänge ist nicht begrenzt
max_allowed_packet stellt eine Begrenzung dar.
Ob diese bei den 2000 INSERT-Queries des OP bereits zuschlägt, läßt sich nicht beantworten, da der OP ja die Fehlermeldung unterschlagen hat.

<pedantic>Das hat ja auch nichts mit PHP-Variablen sondern mit der Kommunikation zwischen MySQL und Clients zu tun.</pedantic>

Es wird nur ein Syntaxfehler kommen, der sich über das erste ; beschwert. Für mich ist das Problem recht zweifelsfrei beschrieben. Als Lösung gibt es nur, den Brocken auf einzelne Statemente aufzubrechen (was nicht ganze einfach ist, weil ; innerhalb von Daten nicht als Statement-Trennzeichen gewertet werden dürfen), ein einzelnes INSERT mit mehreren gleichzeitig einzufügenden Datensätzen zu verwenden (wobei hier die von dir erwähnte Paketlänge zu beachten ist), mysqli_multi_query() (inklusive Umstieg auf mysqli) oder die Kommandozeile zu bemühen (wobei such hier max_allowed_packet zuschlägt).

echo "$verabschiedung $name";