webForumDet fria alternativet

hantera "'" mot databasen

ASP

10 svar · 704 visningar · startad av theguru

Medlem sedan juli 2000411 inlägg
Frågan#1

Hur gör man när man tillåter att spara namn med väder "'" i namnet? t.ex O'Riley? hur gör med select, delete och add för att få det funka? VAd jag förstår så kan skicka med särskilda tecken i asp koden som gör att sqlen tolkar det rätt.

Medlem sedan dec. 20025 483 inlägg
#2

Gör en sökning på SQL injection :)

Medlem sedan nov. 20014 054 inlägg
#3

theguru skrev:

Hur gör man när man tillåter att spara namn med väder "'" i namnet? t.ex O'Riley? hur gör med select, delete och add för att få det funka? VAd jag förstår så kan skicka med särskilda tecken i asp koden som gör att sqlen tolkar det rätt.

replace(str,"'","''")

brukar funka bra på '

Medlem sedan juli 2000411 inlägg
#4

det varkar inte fungera när man ska spara?

Medlem sedan juni 200032 967 inlägg
#5

Nähä. Då får du kanske visa koden så vi ser vad du gjort för fel. Vi är inte synska.

Medlem sedan juli 2000411 inlägg
#6

Ok Rid = x'x

sql= "SELECT * FROM x WHERE x1 =" & x1
sql= sql& " AND Id=" & Id
sql= sql& " AND AId=" & AId
sql= sql& " AND RId=" & RId
tblS.Open sql, JMDB,3,3
tblS.AddNew
tblS("Client_Id") = CId
tblS("Project_Id") = PId
tblS("Reviewer_Id") = RId
tblS("Abstract_Id") = AId
tbls.Update

Vad är fel

Medlem sedan juli 2000411 inlägg
#7

jag menar rid = 'x''x'

Medlem sedan dec. 19996 721 inlägg
#8

Du ska inte göra något med värdet om du uppdaterar via recordsetet (vilket man helst inte ska göra, utan använda INSERT- och UPDATE-satser i stället), men du måste göra det (replaca ' med '') för själva SQL-satsen.

Blir dock något konfunderad. Vad är det för datatyper på kolumnerna egentligen?

Medlem sedan juli 2000411 inlägg
#9

ok men det verkar inte som att det fungerar i delete satsen

DELETE FROM S WHERE CId='A' AND PId='2' AND Abstract_Id=xxx AND RId='X''x'

RId ligger som x'x i databasen men den verkar inte hitta det när jag vill göra delete?

Medlem sedan juni 200032 967 inlägg
#10

Så om du gör en select med samma villkor som din delete, så får du en post, men ingen post påverkas när du kör din delete?

Medlem sedan juli 2000411 inlägg
#11

Nej, jag hade fel och har accepterat ett svar ovan.

Tack

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)