Tha_Zaynt Skrevet 6. mai 2005 Skrevet 6. mai 2005 Jeg har en side som logger ip og tid i en database. Når den samme ip'en dukker opp flere ganger vil jeg at tiden skal oppdateres, slik at det ikke bli masse unødvendige rows nedover, ettersom jeg bare er ute etter tiden for siste besøk. Måten jeg har valgt å gjøre dette på er å sette raden ip som unique og bruke denne koden: $sql = "INSERT INTO logg (tid,ip) VALUES(NOW(),'$ip')"; mysql_query($sql) or die(mysql_error()); if(mysql_affected_rows() < 1){ $sql = "UPDATE logg SET tid = NOW(),ip = '$ip' WHERE ip = '$ip'"; mysql_query($sql) or die(mysql_error()); } Problemet er at jeg bare får erroren: Duplicate entry 'xx.xx.xx.x' for key 2 siden ip'en skal være unik...Noen som har et forslag til hvordan jeg kan løse dette problemet?
zokra Skrevet 6. mai 2005 Skrevet 6. mai 2005 Prøvd med bare: $sql = "UPDATE logg SET tid = NOW() WHERE ip = '$ip'";
ZoRaC Skrevet 6. mai 2005 Skrevet 6. mai 2005 Du må først ta en select for å se om det er en ny IP eller en som er registrert fra før. Deretter tar du en update hvis du får treff og en insert hvis ikke...
mikaelandre Skrevet 6. mai 2005 Skrevet 6. mai 2005 Du må først ta en select for å se om det er en ny IP eller en som er registrert fra før. Deretter tar du en update hvis du får treff og en insert hvis ikke... det er jo akkurat det han gjør... problemet er update setningen som er feil, men der har zokra kommet med forslag på å fikse den, noe som vil fungere helt topp.
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å