echo $begrüßung;
wenn du alles MySQL machen lässt und keine Variablen erst ausliest um sie dann wieder zu speichern kümmert sich MySQL darum und lässt den 2. Nutzer so lange warten, bis der 1. die Nummer hat und das Feld erhöht ist - erst dann kommt der 2. Kunde an die Reihe (da es sich um Sekundenbruchteile handelt sollte das bei einem normalen Onlineshop kein Problem darstellen).
Wie kommt Kunde 1 an den gerade erhöhten Wert, ohne ihn mit einem zweiten Statement auszulesen? UPDATE gibt nur die Anzahl der erfolgreich geänderten Datensätze zurück, also immer nur eine 1. auto_increment funktioniert nur bei INSERT, ist also hier unbrauchbar. Wie REPLACE das regelt weiß ich nicht. Um zu garantieren, dass sich niemand zwischen UPDATE und SELECT drängelt, bleibt nur, so schätze ich, LOCK TABLES, UPDATE, SELECT, UNLOCK TABLES.
echo "$verabschiedung $name";
Ganz einfach, indem du bei der Erstellung der Seite für den Benutzer (er ruft die Seite auf) in einem hiddenfield zum Beispiel die aktuelle Zeit speicherst (mit "mktime()") und abfragst.
Besser:
Es wird im Insertbefehl direkt die BenutzerID gespeichert (In einer zweiten Tabelle) und bei der Abfrage, die Zeile ausgelesen welche die größte auto_increment ID hat. (Also der letzte Eintrag)