webForumDet fria alternativet

Fel i sql

Databaser & SQLur Databashanterare & SQL

9 svar · 424 visningar · startad av Asa

Medlem sedan dec. 20011 860 inlägg
Frågan#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
Medlem sedan feb. 20011 498 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") & "')")
Medlem sedan dec. 20011 860 inlägg
#3

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

Medlem sedan dec. 20003 887 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?

Medlem sedan apr. 20046 inlägg
#5

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

Medlem sedan dec. 20003 887 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...

Medlem sedan apr. 20046 inlägg
#7

vart menar du isåfall?

(får det inte att fungera så)

Medlem sedan juni 200032 967 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.

Medlem sedan juni 20034 013 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.

Medlem sedan apr. 2004778 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.

139 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)