Tom: Gedankenkonflikt zwischen UPDATE und INSERT bei einer MYSQL-DB

Beitrag lesen

Hello,

Ich spreche es mal:

FALLS DER USERNAME UND DIE EMAILADRESSE NOCH NICHT VORHANDN SIND, REGISTRIERE DEN NEUEN BENUTZER.

Ein Query will ich daraus machen.
Bisher schau ich nach username und email adresse und falls nicht vorhanden(PHP, falls kein Ergebnis), dann neuer query, INSERT.

Du solltest es anders machen:

Unique Contraint auf username und eventuell auch unique constraint auf eMail
Und dann den neuen User einfach einfügen.
Hinterher den SQL-Status  abfragen ob es, oder warum es nicht geklappt hat.

Anderenfalls baust Du Dir ein TOCTOU-Problem:
http://en.wikipedia.org/wiki/Time-of-check-to-time-of-use

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de