Hej! Du ken ersätta dem med dubbla ' (dvs två enkla vilket blir ''). Då skrivs de ut som en på sidan. Hej Mikael, Jo jag kan lägga in 2 enkelfnuttar eller en citationstecken. Men jag vill ha en ' var sida om det latinska namnet. eller missuppfattade jag ditt svar. Om du i koden byter ut alla ' mot dubbla så kommer de ändå att visas som enkla på sidan. Men du bör absolut köra parameterisarde frågor avsluta sql-satsen med . OK, Tack för svaren, Här får testas lite så skall det nog funka.enkelfnuttar ' 'Vill inte läggas in i databasen
Jag har en webbshop där vi säljer blommor, och när vi lägger in nya produkter så skall man ju skriva in det latinska namnet också så kunden vet exakt vad det är för blommor. Men det latinska namnet brukar vara mellan 2 enkelfnuttar ( 'latinskt namn' ) och när jag lägger in namnet med dessa så visas bara ett tomt fönster. Tar jag bort dom så funkar det, men för kundens välbefinnande så vill jag att apostroferna kommer med. Vad är det för fel på koden? eller skall jag bara ändra något?.
Är det någon finurlig lösning så är det på titel och produkt det skall funka.
Följande kod lägger in i SQL-databasen
<code>
Sub add() '************************ Lägger till en produkt
kategori = Request.form("kategori")
titel = Request.form("titel")
produkt = Request.form("produkt")
kronor = Request.form("kronor")
vikt = Request.form("vikt")
antal = Request.form("antal")
bild = Request.form("bild")
sql = "select id from cats where name = '" & kategori & "'"
Set Rst = Conn.Execute(SQL)
sql = "insert into Items (category, title, description, price, vikt, antal, smallImage) values ('" & rst("id") & "'," & _
"'" & titel & "'," & _
"'" & produkt & "'," & _
"'" & kronor & "'," & _
"'" & vikt & "'," & _
"'" & antal & "'," & _
"'" & bild & "')"
Set rst = Conn.Execute(sql)
Set rst = nothing
Set Conn = nothing
response.redirect ("admin.asp?action=add")
End Sub
</code>Sv: enkelfnuttar ' 'Vill inte läggas in i databasen
Du bör _absolut_ skydda koden då den är oskyddad mot SQL Injections som det ser ut nu.
Jag skulle rekommendera att du kikar på ADODB.Command och parameteriserade frågor, de gör att du blir automatiskt skyddad.
Som det ser ut nu så kan någon klåfingrig göra vad som helst med databasen (lägga till egna poster, radera poster, uppdatera m.m.).Sv:enkelfnuttar ' 'Vill inte läggas in i databasen
Sedan har du något bra förslag mot ADODB.Command och parameteriserade frågor? Detta kan jag inget om så alla tips är välkommna.Sv: enkelfnuttar ' 'Vill inte läggas in i databasen
Du kan läsa mer om det här:
http://www.w3schools.com/ADO/ado_ref_command.aspSv:enkelfnuttar ' 'Vill inte läggas in i databasen
sql = replace(sql ,"'","''")
så kommer det fungera Sv:enkelfnuttar ' 'Vill inte läggas in i databasen