holger1234
Grünschnabel
Hallo Liebes PHP Forum,
nach gestriger Nacht hab ich viel über SQL Fehler in bezug auf "Duplicate Entry " gelernt, jedoch mein Problem noch nicht gelöst
Folgende STruktru der Datenbank
user_ID Primarykey mit auto_increment !
username Varchar als Unique
In meinem PHP Script
lasse ich den user das formular ausfüllen (registrierung) und wenn er auf speichern drückt, wird ein insert durchgeführt.
nach diesem Insert lese ich den Return von mysql_query aus und leite Ihne bei Fehlerhaftem Insert (Username schon vorhanden) auf diese Seite weiter. Die seite sieht genauso aus nur mit "Leider ist der User schon vorhanden".
Wenn nun der User , einen wirklich neuen Usernamen einträgt, und auf speichern klickt, wird der gleiche Insert ausgeführt.
Der Insert funktioniert auch (in der DB steht ein neuer eintrag mit dem Usernamen etc drin)
ABER wenn ich nach diesem Insert die mysql_query auslese , erhalte ich den Fehler
sql fehlerDuplicate entry 'aaaa' for key 'username_2'
Obwohl er in der DB steht.
Frage
muss ich nach dem ersten fehlerhaften insert die mysql_query irgendwie wieder leeren ?
wenn nicht, wieso sagt mir die datenbank dass der username schon vorhanden ist und noch viel interessanter, wieso macht er ein USERNAME_2 daraus ? in der Fehlerausgabe ? in der DB steht eine Column mit username ?
ich würde mich tierisch über einen denkanstoss freuen !
lg
holger
nach gestriger Nacht hab ich viel über SQL Fehler in bezug auf "Duplicate Entry " gelernt, jedoch mein Problem noch nicht gelöst
Folgende STruktru der Datenbank
user_ID Primarykey mit auto_increment !
username Varchar als Unique
In meinem PHP Script
lasse ich den user das formular ausfüllen (registrierung) und wenn er auf speichern drückt, wird ein insert durchgeführt.
nach diesem Insert lese ich den Return von mysql_query aus und leite Ihne bei Fehlerhaftem Insert (Username schon vorhanden) auf diese Seite weiter. Die seite sieht genauso aus nur mit "Leider ist der User schon vorhanden".
Wenn nun der User , einen wirklich neuen Usernamen einträgt, und auf speichern klickt, wird der gleiche Insert ausgeführt.
Der Insert funktioniert auch (in der DB steht ein neuer eintrag mit dem Usernamen etc drin)
ABER wenn ich nach diesem Insert die mysql_query auslese , erhalte ich den Fehler
sql fehlerDuplicate entry 'aaaa' for key 'username_2'
Obwohl er in der DB steht.
Frage
muss ich nach dem ersten fehlerhaften insert die mysql_query irgendwie wieder leeren ?
wenn nicht, wieso sagt mir die datenbank dass der username schon vorhanden ist und noch viel interessanter, wieso macht er ein USERNAME_2 daraus ? in der Fehlerausgabe ? in der DB steht eine Column mit username ?
ich würde mich tierisch über einen denkanstoss freuen !
lg
holger