webForumDet fria alternativet

Fel i Inner Join (MySQL)

4 svar · 429 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 441 inlägg
#1

Tjena
Håller på med ett inloggningssript, där använder anger anv. namn, lösenord och vilket konto man vill logga in på.

Informationen man anger ska hämtas från två tabeller, därflör använder jag mig av inner join.
Såhär har jag gjort:

sSql =	"SELECT " &_
	"usrId, companyId, usrName, usrPass, usrPerm, " &_
	"company_id, company_name, company_account " &_
	"FROM tbl_usrs t1 INNER JOIN tbl_company t2 " &_
	"ON t1.companyId = t2.company_id " &_
	"WHERE " &_
	"t1.usrName = '" & usrName & "', " &_
	"t1.usrPass = '" & MD5(usrPass) & "', " &_
	"t2.company_account = '" & usrAccount & "' " &_
	"ORDER BY t1.usrId ASC LIMIT 1"

Nu får jag ett felmeddelande:

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 ' t1.usrPass = '098f6bcd4621d373cade4e832627b4f6', t2.company_account = 'hissen' ' at line 1

När jag skriver ut frågan får jag följande:

SELECT
usrId, companyId, usrName, usrPass, usrPerm,
company_id, company_name, company_account
FROM tbl_usrs t1 INNER JOIN tbl_company t2
ON t1.companyId = t2.company_id
WHERE
t1.usrName = 'mian',
t1.usrPass = '098f6bcd4621d373cade4e832627b4f6',
t2.company_account = 'hissen'
ORDER BY t1.usrId ASC LIMIT 1

Har sökt lite här och de flesta felen i övriga trådar med samma felmeddelande, verkar bero på stavfel eller missade tecken.
Jag kan inte hitta nått sånt i mitt (det är ju lätt att stirra sig blind på sin egen kod, men jag hittar inget som är felstavat...), så vad kan vara fel?
DBMS är MySQL och jag använder ASP.

Tack på förhand!

jonnyzMedlem sedan okt. 2004502 inlägg
#2

mysql 5 är lite känslig vad gäller ordningen på tabeller kommer inte ihåg exakt hur den ville ha det, men prova att ändra ordningsföljden (jag har inte orkat kika på din kod i detalj)

MickeA.comMedlem sedan feb. 20034 441 inlägg
#3

jonnyz skrev:

mysql 5 är lite känslig vad gäller ordningen på tabeller kommer inte ihåg exakt hur den ville ha det, men prova att ändra ordningsföljden (jag har inte orkat kika på din kod i detalj)

Nu skrev jag inte det i mitt inlägg ovan, men jag har MySQL 4.1.15

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#4

kan man skriva where med ,? Ska det inte vara and mellan villkoren

WHERE
t1.usrName = 'mian' and
t1.usrPass = '098f6bcd4621d373cade4e832627b4f6' and
t2.company_account = 'hissen'
MickeA.comMedlem sedan feb. 20034 441 inlägg
#5

andreas_lindh skrev:

kan man skriva where med ,? Ska det inte vara and mellan villkoren

Ahh, du har ju så rätt... ;)
Det här vet jag mycket väl, men som sagt, det är lätt att stirra sig blind på sin egen kod.

Tack!

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