Hi EKKi.
// Überprüfen, ob alle "Pflichtangaben" gemacht wurden (musst Du entsprechend Deinen Anforderungen umschreiben)
if (($_POST['Name'][$i] != '') && ($_POST['Vorname'][$i] != '')) {
Das ist keine sinnvolle Pruefung - die Variablen muessen darauf geprueft werden, ob sie vorhanden und(!) nicht leer sind.
if ($sql =[=] '') {
$sql = sprintf("INSERT INTO %s (Name, Vorname) VALUES %s", $MainTable, substr($sql, 1));
}
Hier mochte ich mal vehement den Ansatz verfechten, die Strings der Art ('Name', 'Vorname') in einem Array zu sammeln und per [implode](http://www.php.net/manual/de/function.implode.php) den String zu erzeugen. Diese substr-Kruecke ist schon recht unlesbar - meiner Meinung nach.
> und minimiert das Risiko von Angriffen durch SQL-Injection
Minimiert? Oder eliminiert?
Und ich haette da nochmal gerade ne Meinung zu [Deinem ersten Posting](https://forum.selfhtml.org/?t=198935&m=1336848):
> > Ähm ... jein?! Bitte formuliere Deine [Problembeschreibung](http://forum.de.selfhtml.org/hilfe/charta.htm#tipps-fuer-fragende) so, dass auch Leser ohne Glaskugel wissen, was Du meinst.
Auch wenn das Ausgangsposting keinen Preis fuer klare und exakte Formulierung gewinnt, ging daraus klar hervor, was das Problem war und wo die Denkfehler bzw. -luecken lagen. Wozu dieser Volkssport des Verlinkens der Tipps fuer Fragende?
Viele Gruesse,
der Bademeister