mysql update - Fehler?

ScarFace01

19.02.2011 - 22.19
ID: 83851
L
7 April 2007
336
42
Ich habe ein Problem beim ändern von Daten in der Datenbank und weiß nicht wieso.

Hier mein Code:
PHP:
if(mysql_query("update u_dats set user='$_POST['user']' where id='$_POST['id']'", $db)and
      mysql_query("update u_dats set pass='$_POST['pass']' where id='$_POST['id']'", $db)and
      mysql_query("update u_dats set email='$_POST['email']' where id='$_POST['id']'", $db)and
      mysql_query("update u_dats set nummer='$_POST['nummer']' where id='$_POST['id']'", $db)and
      mysql_query("update u_dats set anm_datum='$_POST['anm_datum']' where id='$_POST['id']'", $db)and
      mysql_query("update u_dats set anm_uhr='$_POST['anm_uhr']' where id='$_POST['id']'", $db)and
      mysql_query("update u_dats set menge='$_POST['menge']' where id='$_POST['id']'", $db)and
      mysql_query("update u_dats set autoup='$_POST['autoup']' where id='$_POST['id']'", $db)and
      mysql_query("update u_dats set gutschein='$_POST['gutschein']' where id='$_POST['id']'", $db)and
      mysql_query("update u_dats set code_wert='$_POST['code_wert']' where id='$_POST['id']'", $db)){

Es kommt immer die Meldung:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /srv/www/httpd/phost/w/de/userhost/userdom/web/check.php on line 179

Kann mir da jemand von euch behilflich sein und mich aufklären?
 
Hmm, warum machst Du viele einzelne Updates. Kann man die nicht zusammenfassen ?

if (mysql_query(
"update u_dats
set user='{$_POST['user']}' ,
email='{$_POST['email']}' ,
nummer='{$_POST['nummer']}' ,
...
where id='{$_POST['id']}' "))


und probier mal, die ganzen Arrays in {} einzupacken
 
Kann mir da jemand von euch behilflich sein und mich aufklären?
Du haust POST-Daten ungeprüft in deine Query. Das sind SQL-Injections: "Böse" Daten, die das Script zum Abbruch zwingen und wenn es dumm kommt, kann dir unter Umständen sogar einer die ganze Datenbank löschen oder auslesen.

Daten vom User (Clientseite) sind grundsätzlich als gefährlich einzustufen und vor der Verarbeitung erst zu überprüfen!
 
das hier:
Code:
user='$_POST['user']'

muss in jedem Fall so lauten:
Code:
user='{$_POST['user']}'

Dann dürfts gehen.

//Edit
Ups hat ja schon wer vor mir geschrieben :LOL: