eigan Skrevet 24. mai 2007 Skrevet 24. mai 2007 (endret) Hei jeg lager ett registrering script. Brukerne skal derfor melde seg av og på. Hvis han er meldt på, og ønsker å melde av, så oppdateres det. Hvis han ikke er påmeldt, så skal det legges til en rad i databasen. Den koden fungerte før, men har nå fått problemer. Ved å ta bort f.eks. Update delen, så legger den fint til, og motsatt... PHP mysql_query("UPDATE Register SET isReg = '$isReg' WHERE LeaseID = '$LeaseID' AND UserID = '$UserID' LIMIT 1") or ("INSERT INTO Register (UserID, LeaseID, isReg, Stats) VALUES ('$UserID', '$LeaseID', '$isReg', '$Stats')"); Takker for svar! EDIT: kom på at denne kanskje skal inn i Database forumet EDIT: Ikke registrering men, påmelding Endret 24. mai 2007 av Einar
The_Lozer Skrevet 24. mai 2007 Skrevet 24. mai 2007 Hei jeg lager ett registrering script. Brukerne skal derfor melde seg av og på. Hvis han er meldt på, og ønsker å melde av, så oppdateres det. Hvis han ikke er påmeldt, så skal det legges til en rad i databasen. Den koden fungerte før, men har nå fått problemer. Ved å ta bort f.eks. Update delen, så legger den fint til, og motsatt... PHP mysql_query("UPDATE Register SET isReg = '$isReg' WHERE LeaseID = '$LeaseID' AND UserID = '$UserID' LIMIT 1") or ("INSERT INTO Register (UserID, LeaseID, isReg, Stats) VALUES ('$UserID', '$LeaseID', '$isReg', '$Stats')"); Takker for svar! EDIT: kom på at denne kanskje skal inn i Database forumet 8695425[/snapback] er ikke helt sikker men tror du skal ha mysql_query etter or
-morten Skrevet 24. mai 2007 Skrevet 24. mai 2007 Ja, du må hvertfall ha med en mysql_query for insert. Men den der vil ikke funke uansett, siden mysql_query kun returnerer false ved feil. Selv om den ikke finner noen rader å update, så vil den returnere true fordi spørringen ble utført uten feil. Dette blir mer riktig: PHP $result = mysql_query("SELECT userid FROM register WHERE userid='$userid'");if (mysql_num_rows($result)) { mysql_query("UPDATE Register SET isReg = '$isReg' WHERE LeaseID = '$LeaseID' AND UserID = '$UserID'"); } else { mysql_query("INSERT INTO Register (UserID, LeaseID, isReg, Stats) VALUES ('$UserID', '$LeaseID', '$isReg', '$Stats')"); }
eigan Skrevet 24. mai 2007 Forfatter Skrevet 24. mai 2007 Takk morten, den funket bare med noen endringer Klikk for å se/fjerne innholdet nedenfor $result = mysql_query("SELECT UserID, LeaseID FROM Register WHERE UserID='$UserID' AND LeaseID='$LeaseID'"); if (mysql_num_rows($result)) { mysql_query("UPDATE Register SET isReg = '$isReg' WHERE LeaseID = '$LeaseID' AND UserID = '$UserID'"); } else { mysql_query("INSERT INTO Register (UserID, LeaseID, isReg, Stats) VALUES ('$UserID', '$LeaseID', '$isReg', '$Stats')"); }
Loomy Skrevet 25. mai 2007 Skrevet 25. mai 2007 Bare sånn FYI kan man bruke mysql_affected_rows() for å sjekke antall rader påvirket av forrige spørring. Da slipper du den ekstra SELECTen også.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå