[PHP & MySQL] POST-Abruf in for-Schleife

cll
Ich sende an eine Datei eine Tabelle und Pärchen von Variablen namens spalte1 / wert1, spalte2 / wert2 usw und möchte die Werte eintragen. Ich kriegs bloß nicht hin die Werte richtig abzurufen. Mein Code:

$sql = "UPDATE $table SET";

for($i=1; $i<5; $i++){
$sql .= "$_POST[spalte$i] = $_POST[wert$i]";
echo "<br>$_POST[spalte$i] = $_POST[wert$i]";
}

$sql .= "WHERE id='".$uid."'";

Die Fehlermeldung:
Parse error: syntax error, unexpected T_VARIABLE, expecting ']' in /var/www/web46/web/changedata.php on line 11
(bezieht sich auf $_POST[spalte$i] )
Ich hab auch schon $_POST[spalte[$i]] versucht, das ging auch nicht...
1Sm!le
Ich gehe stark davon aus, dass er "$_POST[spalte$i] ..." nicht so komisch findet. Korrekt wäre das ja auch $_POST['spalte'.$i]."="....
Also sprich: $_POST gehört nicht unmarkiert in den $sql-String rein. Und "spalte" ist ein String, gehört also in Anführungszeichen.
cll
vielen Dank!
jetzt hab ich $sql .= "$_POST['spalte'.$i] = $_POST['spalte'.$i]";

die neue Fehlermeldung:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/web46/web/changedata.php

Meinst du ich sollte das $_POST erst zwischenspeichern? Oder gibts eine Möglichkeit, dass ers im SQL-String akzeptiert?
1Sm!le
Das is genauso Quark wie vorher ... nachdenken Augenzwinkern
Du willst:
- eine Variable auslesen
- einen String anfügen (nämlich das Gleichheitszeichen)
- eine Variable auslesen
Das sind die drei Elemente
$_POST['spalte'.$i]
" = "
$_POST['spalte'.$i]

Und das ganze willst du in $sql anfügen.
Also musst du die 3 Teile verketten (mit . dazwischen) und dann anfügen

$sql .= $_POST['spalte'.$i]." = ".$_POST['spalte'.$i];
cll
achsooo smile Sorry, ich stand aufm Schlauch. Danke!