dedlfix: formular-einträge per schleife in mysql-db ??

Beitrag lesen

echo $begrüßung;

$set_values[] = $name . '=' . mysql_real_escape_string($wert);
... wobei diese Methode nicht funktioniert, wenn man (zwischendrin) FALSE oder NULL als Feldwerte übergeben muss/will!

Ich sehe gerade, dass ich da oben vergaß, den Wert in Anführungszeichen zu setzen

$set_values[] = $name . '="' . mysql_real_escape_string($wert) . '"';

So ist's besser. Zu deinem Einwurf: Da alle Benutzereingaben in $_POST und $_GET als String vorliegen und man da sowieso nicht unterscheiden kann, ob der String "NULL" nun als String oder als NULL-Wert gemeint ist, muss man sich sowieso irgendwas anderes einfallen lassen, falls man NULL besonders behandeln will. Einerseits könnte man definieren, dass bei leerer Benutzereingabe NULL im Feld einzutragen sei, dann braucht man dazu eine Fallunterscheidung (if). Oder man hat ein eigenes Checkbox-Feld (siehe beispielsweise phpMyAdmin), dann benötigt man dazu ebenfalls eine Fallunterscheidung mit extra Auswertung dieser Checkbox.

Für boolsche Werte wird man wohl auch eher eine Checkbox einsetzen wollen. Die hat nun wieder die besondere Eigenschaft, gar nicht in $_GET/$_POST zu erscheinen, wenn sie nicht angehakt wurde. Und ein gesetzter Wert braucht auch eine Übersetzung vom String-Wert in den in das Feld einzutragenden Wert. Also lassen sich Checkboxen ebenfalls nicht ohne Sonderauswertung ins SQL-Statement übernehmen.

Meine Glaskugel sagte mir, dass beide Ausnahmefälle beim OP nicht vorkommen, er nur einfache Stringwerte verwendet. :-)

echo "$verabschiedung $name";