Mike: (Alte) Datensätze in MySQL aktualisieren

Einträge aus einem Formular sollten in eine DB abgespeichert werden. Die Problematik hier ist Doppeleinträge zu vermeiden. Mein Ziel ist alte Einträge weiter zu verwenden (es kann ja sein das einer seine Adresse gewechselt hat). Zuerst überprüfe ich die eingegebene E-Mail Adresse, wenn diese in der DB vorhanden ist, soll der (alte) Datensatz mit neuer Adresse, Datum, usw. aktualisiert werden. Hab das so versucht aber es schein nicht zu funktionieren.

$sql= "SELECT * FROM tbl3 WHERE mail = '$mail'";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
if($row['mail'])
{
$sql = "UPDATE tbl3 SET mail = '$mail'";
mysql_query($sql) OR die(mysql_error());
} else {
$sql= "INSERT INTO tbl3 SET VALUES (NULL,'".date('Y-m-d H:m:s')."','$anrede','$vorname','$name','$mail','$strasse','$hausnr','$url','$plz','$ort','$domain_url')";
mysql_query($sql) OR die(mysql_error());
}

Was ist hier falsch? Wie kann das besser umgesetzt werden.

Gruss,
Mike

  1. Hi Mike,

    ich bin zwar auch kein Super-Spezialist auf dem Gebiet aber da

    $sql = "UPDATE tbl3 SET mail = '$mail'";

    würde ich sagen, musst Du noch angeben, welche mail aktualisiert werden soll, also

    $sql = "UPDATE tbl3 SET mail = '$mail' WHERE mail = 'mail'";

    Grüße

    Stephan

    1. Hat leider nicht geholfen :-(

  2. yo,

    Hab das so versucht aber es schein nicht zu funktionieren.

    kann auch nicht, du aktualisierst ja die mailadresse. gerade die soll ja gleich bleiben, nur eben alers andere soll sich aktualisieren wie straße, telefonnummer, etc.

    --> $sql = "UPDATE tbl3 SET strasse = '$strasse'.... WHERE mail = '$mail'";

    Ilja

    1. Ah ja stimmt hast Recht, danke dir vielmals