Avatar billede eqvaliser Nybegynder
21. januar 2008 - 01:08 Der er 1 løsning

Håndtering af fejl ved oprettelse af dobbeltpost.

mySQL med sider som køre Classic ASP og alt fungere med undtagelse
ved oprettelse af poster, når en opretter en post som eksistere med
samme navn få man fejl 500. er det ikke muligt at lave en funktion
der ved oprettelse af post med samme navn skriver en "brugbar" fejl istedet..

her er siden som laver posterne

<% evidb = "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=HIDDEN; Uid=HIDDEN; Pwd=HIDDEN"

Dim Recordset, Connection, SQL
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open evidb

strSQL = "Insert into Logon.accounts (Login,password,email,flags) values('" & request.form("username") & "','" & request.form("account") & "','" & request.form("email") & "','" & request.form("smil") & "')"
Connection.execute(strSQL)

Connection.close
%>

og dette fungere helt fint INDTIL man opretter en post
med username som er i brug.. 

nogle forslag til hvordan jeg håndtere dette ?
Avatar billede rosvall Nybegynder
29. januar 2008 - 21:33 #1
Enten kan du gribe fejlen i ASP (hvilket gør det til et ASP-spørgsmål), eller også kan du starte med at lave en
SELECT 1 WHERE username = 'indtastet_brugernavn'
og se om der kommer en række ud.
Nu ved jeg ikke om ASP selv finder ud af at rense tekst-input, men ellers bør du absolut gøre det, før du samler dem i din SQL-sætning.
Jvf. http://xkcd.com/327/
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester