Tom: Oh jeh, ich sags noch... ohne select gehts nicht

Beitrag lesen

Hallo Peter,

das Release_lock() solltest Du auf keinen Fall weglassen, auch wenn ein sauberes PHP das Lock bei Ende des Scriptes automatisch aus der Locking Tabelle entfernen sollte und die Zait ja auch irgendwann abgelaufen sein wird. Es könnte trotzdem mal zu unangenehmen Seiteneffekten kommen. Der Lock wird nämlich _mit_ release-Lock89 schon entfernt, wenn die beiden Operationen getätigt wurden und nicht erst, wenn die Zeit abgelaufen ist. Wenn Dein Script nun nach dem INSERT noch ein bisschen was anderes zu tun hat, dann hast Du wenigstens schon vorher die Bahn wieder freigemacht.

Die Doppeleintragungen kannst Du nur Datantechnisch abfangen. Gib deinem Eintragungsformular beim Aufruf eine eindeutige ID mit und trag die auch in die Tabelle ein. Leg auf das Feld einen unique Index. Dann verhindert mysql automatisch den doppelten Eintrag.

Grüße

Tom