webForumDet fria alternativet

Fel i sql

9 svar · 424 visningar · startad av Asa

AsaMedlem sedan dec. 20011 934 inlägg
#1

Jag har fel i denna sql. Funkar fint i Access men ej i MySQL. Ser någon nåt fel?

Con.Execute("INSERT INTO user (domain, pass, active, Typ, Fnamn, Enamn, Foretag, Epost, Adress, Postnummer, Postort, admin, saljare, sokvag, utrymme, antftp, antmysql, antmail, tele, betalning)" & _
 "VALUES ('" & request.form("domain") & "','" & request.form("pass") & "', " & active & ",'" & request.form("type") & "','" & request.form("fnamn") & "','" & request.form("enamn") & "','" & request.form("foretag") & "',
'" & request.form("epost") & "','" & request.form("adress") & "','" & request.form("postnummer") & "','" & request.form("postort") & "','11111','" & request.form("saljare") & "', '" & filmapp &"', " & request.form("utrymme") & ",
" & request.form("antftp") & "," & request.form("antmysql") & "," & request.form("antmail") & ",'" & request.form("tele") & "','" & request.form("betalning") & "')")

Glömde felmesset:

Microsoft OLE DB Provider for ODBC Drivers error '80040e09' 

[TCX][MyODBC]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 'Gullig','Månadsvis')' at line 1
ampyMedlem sedan feb. 20011 512 inlägg
#2

Du har glömt ett mellanslag innan VALUES:

Con.Execute("INSERT INTO user (domain, pass, active, Typ, Fnamn, Enamn, Foretag, Epost, Adress, Postnummer, Postort, admin, saljare, sokvag, utrymme, antftp, antmysql, antmail, tele, betalning) " & _
"VALUES ('" & request.form("domain") & "', " & _
	"'" & request.form("pass") & "', " & _
	active & ", " & _
	"'" & request.form("type") & "', " & _
	"'" & request.form("fnamn") & "', " & _
	"'" & request.form("enamn") & "', " & _
	"'" & request.form("foretag") & "', " & _
	"'" & request.form("epost") & "', " & _
	"'" & request.form("adress") & "', " & _
	"'" & request.form("postnummer") & "', " & _
	"'" & request.form("postort") & "', " & _
	"'11111', " & _
	"'" & request.form("saljare") & "', " & _
	"'" & filmapp &"', " & _
	request.form("utrymme") & ", " & _
	request.form("antftp") & "," & _
	request.form("antmysql") & "," & _
	request.form("antmail") & ",'" & _
	request.form("tele") & "','" & _
	request.form("betalning") & "')")
AsaMedlem sedan dec. 20011 934 inlägg
#3

Strunt i den koden. Jag separera bara när jag skrev här! JAg har allt på en rad annars.

Engine^Medlem sedan dec. 20002 861 inlägg
#4

Jag ser inget fel, men det är däremot toköppet för SQL-injections.

Måste en SQL-sats avslutas med semikolon i MySQL?

FlippFloppMedlem sedan apr. 20046 inlägg
#5

Jag ser inge semikolon i koden?, vart hittar du det?

Engine^Medlem sedan dec. 20002 861 inlägg
#6

FlippFlopp skrev:

Jag ser inge semikolon i koden?, vart hittar du det?

Ingenstans, jag funderade bara på om det borde vara ett semikolon där...

FlippFloppMedlem sedan apr. 20046 inlägg
#7

vart menar du isåfall?

(får det inte att fungera så)

@ndersMedlem sedan juni 200026 914 inlägg
#8

Ingenstans, jag funderade bara på om det borde vara ett semikolon där...

Nix.

Annars: Har man problem med en SQL-fråga skriver man ut den till webbläsaren för att se hur den färdiga frågan ser ut. Det är inte lätt att gissa vad alla variabler innehåller.

tydalMedlem sedan juni 20033 788 inlägg
#9

Du saknar apostrofer runt:

active, request.form("utrymme"), request.form("antalftp"), request.form("antmysql") och request.form("antmail")

För att det ska fungera måste du garantera att alla dessa variabler innehåller siffror. Dvs, du måste kolla dem först.

Om din kod inte kollar dem så är det ett fel du måste åtgärda. Om det är just det felet som orsakar ditt felmeddelande vet jag inte, för alla fel ger ju tyvärr inte felmeddelanden. Eftersom vi inte har fått se SQL-satsen så kan vi bara gissa.

PDahlenMedlem sedan apr. 2004784 inlägg
#10

Jag rekommenderar du sätter in hela SQL-kommandot i en sträng först och skriver ut den. Då kan du se var felet ligger.
Min gissning är som tydals att du antingen försöker stoppa in text utan fnuttar, eller så har du en variabel som ska innehålla siffror men är tom.
Så skriv ut hela strängen på skärmen och kolla varje variabel så att alla texter har fnuttar och att det finns siffror mellan alla komma tecken där det inte finns fnuttar.

123 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
121 ms — hämta tråd, inlägg och bilagor (db)