Geistiger Hohlraum: md5 String wird nicht neu gesetzt

Beitrag lesen

Also das hat bei mir das selbe Ergebnis gebracht.

Hier der veränderte Quelltext.

while($row = mysql_fetch_object($ergebnis))

{
$vorname = $row->vorname;
$nachname = $row->nachname;
$id = $row->id;
$email = $row->emailuser;

$string = '$vorname$nachname$id$email';
$erk = md5($string);
$aendern = "UPDATE $tabelle Set bestimmungwer = md5(concat(vorname,nachname,email,id)) WHERE bestimmungwer = '$id'";

$update = mysql_query($aendern);

Aua :> Dir ist nicht aufgefallen, dass das ganze Geraffel mit $vorname etc überflüssig ist, weil es nicht mehr im SQL-Befehl auftaucht? Und davon, dass bestimmungwer gleich $id sein soll, schrieb ich nichts.

1. Dein Quelltext sollte jetzt *insgesamt* so aussehen:

if (! mysql_query("UPDATE $tabelle Set bestimmungwer = md5(concat(vorname,nachname,email,id)) WHERE bestimmungwer = ''")) {
    echo "Update-Fehler: ".mysql_error();
}

Keine Zeile mehr.

2. Für den ersten Durchlauf muss der where-Teil weg, damit einmalig alle Einträge die richtigen Daten bekommen.

ist doch klar dass ich ein AUTO_INCREMENT  ID Feld habe

Wozu brauchst Du dann noch obendrauf eine md5-Summe, wenn die Spalte id schon eindeutig ist? Eindeutiger als eindeutig geht es nicht, theoretisch wird es im Gegenteil eher schlimmer.