21. november 2008 - 10:49Der er
9 kommentarer og 1 løsning
hvordan undgår man dobbelt post i mysql
hej jeg er ved at lave en kunde formular, og er kun intresseret i, at kunden bliver indsat vis han/hun ikke eksisterer i databasen i forvejen. Indtil videre har jeg fået sat siden op så jeg kan indsætte i databasen.
<!-- #include file="include/dbconnect.asp" -->
<% 'huske list: først tjek for bruger, så indsæt bruger, til sidst trækker vi bruger ud if(request.QueryString("go")=1) then varFornavn = Request.Form("Fornavn") varEfternavn = Request.Form("Efternavn") varAddresse = Request.Form("Addresse") varPost = Request.Form("post") varBy = Request.Form("bynavn") varTlfnr = Request.Form("Tlfnr")
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) 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 'kunde_efternavn = '' kunde_adresse = '' kunde_postnr = kunde_by = '' kunde_tlf ' at line 1 /hrdwre/kundeinfo.asp, line 20
ned i KundeTjek = KundeTjek & " kunde_postnr = "&varPost&"" tog jeg friheden til at fjerne enkelt pinger da det er int i mysql db'en, men ellers udover det kunne jeg ikke finde nogen fejl ?
<!-- #include file="include/dbconnect.asp" -->
<% if(request.QueryString("go")=1) then varFornavn = Request.Form("Fornavn") varEfternavn = Request.Form("Efternavn") varAddresse = Request.Form("Addresse") varPost = Request.Form("post") varBy = Request.Form("bynavn") varTlfnr = Request.Form("Tlfnr") KundeTjek = "Select * from kundearkiv where " KundeTjek = KundeTjek & " kunde_navn = '"&varFornavn&"'" KundeTjek = KundeTjek & " kunde_efternavn = '"&varEfternavn&"'" KundeTjek = KundeTjek & " kunde_adresse = '"&varAddresse&"'" KundeTjek = KundeTjek & " kunde_postnr = "&varPost&"" 'måske skal der enkelt pinger på ? KundeTjek = KundeTjek & " kunde_by = '"&varBy&"'" KundeTjek = KundeTjek & " kunde_tlf = "&varTlfnr&"" Conn.Execute(KundeTjek) if not KundeTjek.eof then Tjek = true else Tjek = false end if Set KundeTjek = nothing
if Tjek = false then KundeSql = "INSERT INTO kundearkiv (kunde_navn, kunde_efternavn, kunde_adresse, kunde_postnr, kunde_by, kunde_tlf) values ("&" '"&varFornavn&"', '"&varEfternavn&"', '"&varAddresse&"', "&varPost&", '"&varBy&"', "&varTlfnr&")" Conn.Execute(KundeSql) 'response.write KundeSql 'response.End() response.Redirect("?page=dankort") else response.write "kunde er oprettet" end if
nu er det lidt svært at vide hvor linie 20 er - men prøv at skift linierne her -
set rs = Conn.Execute(KundeTjek) if not rs.eof then Tjek = true else Tjek = false end if Set rs= nothing
'og så har du noget her KundeSql = "INSERT INTO kundearkiv (kunde_navn, kunde_efternavn, kunde_adresse, kunde_postnr, kunde_by, kunde_tlf) values ('"&varFornavn&"', '"&varEfternavn&"', '"&varAddresse&"', "&varPost&", '"&varBy&"', "&varTlfnr&")"
får ny fejl, Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) 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 'kunde_efternavn = '' kunde_adresse = '' kunde_postnr = kunde_by = '' kunde_tlf ' at line 1 /hrdwre/kundeinfo.asp, line 20
linie 20 ja sorry det er linien med "set rs = Conn.Execute(KundeTjek)" jeg tænkte på om fejl kunne være overfor, hvor jeg laver kundetjek ?
<% if(request.QueryString("go")=1) then varFornavn = Request.Form("Fornavn") varEfternavn = Request.Form("Efternavn") varAddresse = Request.Form("Addresse") intPost = Request.Form("post") varBy = Request.Form("bynavn") intTlfnr = Request.Form("Tlfnr") KundeTjek = "Select * from kundearkiv where " KundeTjek = KundeTjek & " kunde_navn = '"&varFornavn&"'" KundeTjek = KundeTjek & " kunde_efternavn = '"&varEfternavn&"'" KundeTjek = KundeTjek & " kunde_adresse = '"&varAddresse&"'" KundeTjek = KundeTjek & " kunde_postnr = "&intPost&"" KundeTjek = KundeTjek & " kunde_by = '"&varBy&"'" KundeTjek = KundeTjek & " kunde_tlf = "&intTlfnr&"" set rs = Conn.Execute(KundeTjek) ' dette er linie 20 if not rs.eof then Tjek = true else Tjek = false end if Set rs= nothing
if Tjek = false then KundeSql = "INSERT INTO kundearkiv (kunde_navn, kunde_efternavn, kunde_adresse, kunde_postnr, kunde_by, kunde_tlf) values ('"&varFornavn&"', '"&varEfternavn&"', '"&varAddresse&"', "&intPost&", '"&varBy&"', "&intTlfnr&")" Conn.Execute(KundeSql) response.Redirect("?page=dankort") else response.write "kunde er oprettet" end if end if %>
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.