Gå til innhold

Mysql - INSERT or UPDATE


Anbefalte innlegg

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 :whistle:

Endret av Einar
Lenke til kommentar
Videoannonse
Annonse
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

Lenke til kommentar

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')");

}

Lenke til kommentar

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')");

}

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...