Mailinglisten-Archive |
Wer auch immer schrieb:
> mysql_query("UPDATE benutzerdaten SET vorname = `$vorname`,
> nachname = `$nachname`, ort = `$ort`, adresse = `$adresse`,
> adresszusatz = `$adresszusatz`, plz = `$plz`, land = `$land`, tel =
> `$tel`, email = `$email`, anrede = `$anrede`, gebdat = `$gebdat`,
> ledname = `$ledname`, div = `$div`, beruf = `$beruf`, abschluss =
> `$abschluss`, mitglied = `$mitglied`, eintritt = `$eintritt`,
> austritt = `$austritt`, esr = `$esr`, spende = `$spende`, mahng =
> `$mahng`, nummer = `$nummer` WHERE id = '$_GET[edit]'");
Es empfiehlt sich folgendes zu machen..
$sql = ("UPDATE benutzerdaten SET vorname = `$vorname`, nachname = `$nachname`, ort = `$ort`, adresse = `$adresse`, adresszusatz = `$adresszusatz`, plz = `$plz`, land = `$land`, tel = `$tel`, email = `$email`, anrede = `$anrede`, gebdat = `$gebdat`, ledname = `$ledname`, div = `$div`, beruf = `$beruf`, abschluss = `$abschluss`, mitglied = `$mitglied`, eintritt = `$eintritt`, austritt = `$austritt`, esr = `$esr`, spende = `$spende`, mahng = `$mahng`, nummer = `$nummer` WHERE id = '$_GET[edit]'";
echo $sql;
mysql_query($sql);
so kannst Du sehen was eigentlich an die Datenbank geschickt wird, vielleicht ist es ja nicht das was Du erwartest ...
Möglicherweis ist auch ein $_POST['edit'] anstatt $_GET[edit].
.... WHERE id = '$_GET[edit]'"
Ist eine eine Zahl? Dann ohne Quotes.
... WHERE id = $_GET[edit]"
Auch möglich das es eine Konstante Namens edit gibt, so das das falsche Wert $_GET ausgelesen wird. Um sowas zu verhindern sollte man bei Array-Variblen beim zuweisen in Strings folgendes machen
... WHERE id = {$_GET['edit']}"
Auf Grund von großen Gefahren der SQL Injektion solltest Du die übergebenen Daten mit mysql_real_escape_string() Escapen, so das man keine Chance zur SQL Injektion bekommst.
Grüße
Albert
php::bar PHP Wiki - Listenarchive