webForumDet fria alternativet
Logga in / Bli medlem

Uppdatera datum

Databaser & SQL

4 svar · 421 visningar · startad av yador

Medlem sedan mars 2004455 inlägg
Frågan#1

Hejsan, vad är det för fel på denna query strängen:

update members set lastlogin=CURDATE() where username="x" LIMIT 0,1

?

Tack på förhand!

Medlem sedan juni 200032 967 inlägg
#2

På vilket sätt funkar det inte då?
Varför har du med LIMIT i din UPDATE?

Medlem sedan mars 2004455 inlägg
#3

Jag får felmeddelandet:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

Detta är koden som skapar sql satsen:

'update members set lastlogin=CURDATE() where username="'.$_POST['username'].'" LIMIT 0,1'

Jag använder LIMIT för att den bara ska ändra den första den hittar. Är det fel användning av limit här?

OBS, det var visst fel användning av LIMIT, men hur gör jag om den ska enbart ändra 1 post?

Medlem sedan juni 200032 967 inlägg
#4

Varför ska den bara ändra en post? Har du flera medlemmar med samma användarnamn? Då har du problem...

edit: om du ska ha med limit i den frågan bör det stå LIMIT 1.

Medlem sedan mars 2004455 inlägg
#5

Nej, det har jag inte, men den kommer ju fortsätta leta efter något mer användernamn som heter det. Jag har nämligen inte användarnamnet unikt.

EDIT
LIMIT 1 fungerade fint. Tack

258 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)