jag använder den här koden: Ser inget fel med SQL frågan. Du har ID som vilkor. Antagligen är det något annat som strular. men nu är det när jag själv uppdaterar som det blir fel.. det är det jag tycker att är konstigt... tror inte det har med konstiga tecken att göra... kan det vara att SLen är för lång ocg inte får med wheren? att den uppdaterar alla raderna tyder definitivt på att den where sats inte körs och att den istället sätter alla i dbn till samma värde enligt din sats... får ta och testa det... det var när jag satte till SQL problem
<code>
SQL = "Update jenovamembers Set AnvNamn = '" & replace(Request.Form("anvnamn"),"'","''") & "', Losen = '" & replace(Request.Form("losen"),"'","''") & "', ForNamn = '" & replace(Request.Form("fornamn"),"'","''") & "', EfterNamn = '" & replace(Request.Form("efternamn"),"'","''") & "', " & vbCrLf & _
"Status = '" & replace(Request.Form("status"),"'","''") & "', Alder = '" & replace(Request.Form("alder"),"'","''") & "', ICQ = '" & replace(Request.Form("icq"),"'","''") & "', MSN = '" & replace(Request.Form("msn"),"'","''") & "', Mail = '" & replace(Request.Form("mail"),"'","''") & "', " & vbCrLf & _
"Hemsida = '" & replace(Request.Form("hemsida"),"'","''") & "', Bild = '" & replace(Request.Form("bild"),"'","''") & "', JP = '" & replace(Request.Form("jp"),"'","''") & "', Rank = '" & replace(Request.Form("rank"),"'","''") & "', stad = '" & replace(Request.Form("stad"),"'","''") & "', " & vbCrLf & _
"pres = '" & replace(Request.Form("pres"),"'","''") & "', Kon = '" & replace(Request.Form("kon"),"'","''") & "'"', tavlingadmin = '" & replace(Request.Form("tavlingadmin"),"'","''") & "' where id=" & Request.QueryString("id")
rs.Open SQL, Connect,1,2
Response.Redirect("andramem.asp?id=" & Request.QueryString("id") & "")
</code>
men av någon anledning uppdaterar den alla rader så dom blir kopior av översta posten i databasen. iaf dom jag skrivit i uppdaten här ovan... ser nån vad felet är?Sv: SQL problem
<code>
Function SQLText(Value)
If Len(Value) Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
strSQL = "UPDATE jenovamembers SET AnvNamn = " & SQLText(Request.Form("anvnamn")) & ", " & _
"Losen = " & SQLText(Request.Form("losen")) & ", " & _
"ForNamn = " & SQLText(Request.Form("fornamn")) & ", " & _
"EfterNamn = " & SQLText(Request.Form("efternamn")) & ", " & _
"Status = " & SQLText(Request.Form("status")) & ", " & _
"Alder = " & SQLText(Request.Form("alder")) & ", " & _
"ICQ = " & SQLText(Request.Form("icq")) & ", " & _
"MSN = " & SQLText(Request.Form("msn")) & ", " & _
"Mail = " & SQLText(Request.Form("mail")) & ", " & _
"Hemsida = " & SQLText(Request.Form("hemsida")) & ", " & _
"Bild = " & SQLText(Request.Form("bild")) & ", " & _
"JP = " & SQLText(Request.Form("jp")) & ", " & _
"Rank = " & SQLText(Request.Form("rank")) & ", " & _
"stad = " & SQLText(Request.Form("stad")) & ", " & _
"pres = " & SQLText(Request.Form("pres")) & ", " & _
"Kon = " & SQLText(Request.Form("kon")) & ", " & _
"tavlingadmin = " & SQLText(Request.Form("tavlingadmin")) & vbCrLf & _
"WHERE Id = " & CLng(Request.QueryString("id"))
Connect.Execute strSQL
Response.Redirect "andramem.asp?id=" & Request.QueryString("id")
</code>
Om du omger CLng(Request.QueryString("id")) kommer en hacker inte kunna skicka:
<code>
Request.QueryString("id") = "0 OR 1=1"
</code>
Vilket skulle kunna uppdatera alla poster. Nu kommer "0 OR 1=1" ge ett fel och sidan inte visas. Bättre än inget. Annars bör du kontrollera värdet:
<code>
If IsNumeric(Request.QueryString("id")) Then
'Ok
Else
'Felaktigt värde. Ev. Hacker!
End If
</code>Sv: SQL problem
Sv: SQL problem
innan du kör själva SQL satsen kan du ju köra en response.write för att se att satsen ser ut som den ska, istället för att verkligen exekvera den menar jagSv: SQL problem
tavlingadmin = " & SQLText(Request.Form("tavlingadmin"))
som den blev sådär... innan hade den fungerat bra.. skrev allt på en rad först och då blev den så lång att den bytte rad i anteckningar så först trodde jagd et vard ets om var felet men det verkar inte fungera såhär heller...