Mahlzeit Haschmich,
Quizfrage, was habe ich übersehen?
3 Dinge:
name = $name,
1. Es fehlen die einfachen Anführungszeichen, da es sich beim Inhalt der Variablen "$name" vermutlich um einen String handelt und die Spalte "name" vermutlich den Datentyp VARCHAR (o.ä.) handelt.
2. Es fehlt die kontextgerecht Behandlung der Variablen - Dein Skript ist in höchstem Maße anfällig für "SQL-Injection" (informiere Dich zu diesem Stichwort!) ... vermutlich werden die Werte der einzelnen Variablen auch noch aus dem $_GET- oder $_POST-Array herauskopiert?
Ich würde Dir ungefähr folgendes vorschlagen:
$aendern = sprintf("UPDATE grapp1aeg SET
name = '%s',
strasse = '%s',
region = '%s',
plz = '%s',
ort = '%s',
tel = '%s',
fax = '%s'
WHERE
aegid = %d
",
[link:http://de3.php.net/manual/en/function.mysql-real-escape-string.php@title=mysql_real_escape_string]($name),
mysql_real_escape_string($strasse),
mysql_real_escape_string($region),
mysql_real_escape_string($plz),
mysql_real_escape_string($ort),
mysql_real_escape_string($tel),
mysql_real_escape_string($fax),
mysql_real_escape_string($id)
);
Oder benutze gleich mysqli ...
$aendern = mysql_query($aendern);
3. Die Variable "$aendern" enthielt vorher in einem String den SQL-Befehl - nachher enthält sie plötzlich einen ganz anderen Datentyp mit einer komplett anderen Bedeutung. Tu Dir selbst einen Gefallen und "recycle" Variablen nicht auf diese Weise: Du erschwerst Dir nur selbst die Fehlersuche ... oder ist Dir in 3 Monaten noch auf den ersten Blick klar, was wann in welcher Variablen steht?
MfG,
EKKi
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|