[PHP/MySQL]Update
-
Hab bei meinem Forum ein Skript, das das Profil vom User ändern soll. Aber die Werte werden nicht in die Datenbank eingetragen, wenn ich die Werte auslesen lasse, dann zeigt der mir die aber so an... hier mal der Code, vielleicht kann mir ja jemand helfen:
<?php session_start(); $db = mysql_connect(); $sql="SELECT name, mail, site, signatur, avatar FROM user WHERE id='$id'"; $res=mysql_query($sql, $db); print ("<a href=forum.php>Forum</a> ::|:: <a href=logout.php>Logout</a> ::|:: <a href=member.php>Member</a> ::|:: <a href=profil.php>Profil</a> </td></tr><tr><td>"); $reg = mysql_fetch_row($res); if($reg[0] == $name) { print ("Der Benutzername existiert schon!<br><br><a href=profil.php>Zurück</a>"); } else { if($name == "") { $name = $reg[0]; } if($mail == "") { $mail = $reg[1]; } $sql1="UPDATE user (name, mail, site, signatur, avatar) VALUES ('$name', '$mail', '$site', '$signatur', '$avatar')"; mysql_query($sql1, $db); mysql_error(); print ("Profil geändert! <br><br> <a href=forum.php>Zum Forum</a>"); } ?>
-
dein SQL-Update-Syntax sieht etwas komisch aus - außerdem sollte da noch irgendeine WHERE Bedingung kommen (du willst doch nicht alle Datensätze ändern, oder etwa doch
UPDATE user SET name = '$name', mail = '$mail', site = '$site', signatur = '$signatur', avatar = '$avatar' WHERE irgendwas
-
doch, die Werte werden vorher bei einem <Form method="post"> übergeben und in den Input-Feldern ist z.b. avatar aus der Datenbank als value angegeben, d.h. wird da nix verändert, so wird halt der Standard übernommen thx für die Hilfe
-
Du solltest $_POST['name'] usw. verwenden - ist (zukunfsts)sicherer
Klappt es denn jetzt? (btw: ich hatte doch gar nichts zu den Variablen gesagt )
-
du willst doch nicht alle Datensätze ändern, oder etwa doch
Dachte, dass du die Variablen meinst, Denkfehler meinerseits
das funzt jetzt super, thx