Jag har funktionen där man skickar ett sms med webbis04 present användarnamn, användarnamnet ska bytas mot användarID och uppdatera databasen, men tjänsten fungerar inte och jag hittar inte felet
If instr(sms,"Webbis04 present ") <> "" Then
sms = Replace(sms,"Webbis04 present ","")
End If
objConn.Execute("update tblUsers set vipTillDatum=vipTillDatum+objConn.Execute("update tblUsers set vip=1, vipTillDatum = ADDDATE(CURDATE(), INTERVAL 30 DAY) WHERE mobil = "& nr &"") WHERE username = '"&sms&"'")
Felmeddelandet är
Microsoft VBScript compilation error '800a03ee'
Expected ')'
/sms-present.asp, line 32
objConn.Execute("update tblUsers set vipTillDatum=vipTillDatum+objConn.Execute("update tblUsers set vip=1, vipTillDatum = ADDDATE(CURDATE(), INTERVAL 30 DAY) WHERE mobil = "& nr &"") WHERE username = '"&sms&"'")
Vad blir resultatet av din inbäddade update? Jag gissar att du ska addera något, eftersom det står ett +. Men, en UPDATE ger ju inget tillbaka, hur hänger det ihop?
jag ska uppdatera en kolumn med ett datum 30 dagar framåt och en 1-a i en annan kolumn till rätt användare, A ger B en present, presenten ska inte gå efter A-s mobilnummer utan efter B-s användarnamn
Kostar bara pengar för användaren när det funkar, inte så länge jag får felmeddelanden
Frågan är bara hur man ska skriva för att få det att funka. Letar man upp rätt användare med mobilnumret är det lätt, men här ska ju inte presenten till den som har numret utan till användarnamnet som anges
testar med
set test=objConn.Execute("update tblUsers set vipTillDatum=vipTillDatum+ADDDATE(CURDATE(), INTERVAL 30 DAY) WHERE username = '"&sms&"'")
response.write test
response.end
och får
Response object error 'ASP 0185 : 8002000e'
men kan nån se felet i orginalfrågan, allt ser ju rätt ut tycker jag iaf....inga parenteser saknas ju
If instr(sms,"Webbis04 present ") <> "" Then
sms = Replace(sms,"Webbis04 present ","")
End If
objConn.Execute("update tblUsers set vipTillDatum=vipTillDatum+objConn.Execute("update tblUsers set vip=1, vipTillDatum = ADDDATE(CURDATE(), INTERVAL 30 DAY) WHERE mobil = "& nr &"") WHERE username = '"&sms&"'")
Tabellen innehåller bland annat userID , username, vipTillDatum, mobil och vip
vipTillDatum innehåller datumet tills VIP tar slut och vip är 1 eller 0, 1 är vip-status, 0 är det inte, mobil är kolumnen för mobilnumret som ska identifiera användaren när sms-et skickas in
När man skickar ett vanligt sms så identifieras användaren av mobilnumret, tabellen uppdateras och det är klart.
Här ska en som har mobilnummer inlagt kunna ge vip till en annan person än sig själv, då är det användarnamnet på den personen som databasen ska uppdateras för
A ger B vip genom att skriva i sms webbis04 present B , mobilnumret står på A men tabellen ska uppdateras för B
jag får bara
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[MySQL][ODBC 3.51 Driver][mysqld-4.0.25-max]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 '' at line 1
/present.asp, line 9
Hela koden
Rad 9 fetmarkerad
<!-- #include virtual="/include/dbconn.asp" -->
<%
nr = request("nr")
sms = request("sms")
'tariff = request("tariff")
SET objConn = Connect()
[B]'If instr(sms,"Webbis04 present ") <> "" Then[/B]
'sms = Replace(sms,"Webbis04 present ","")
'End If
objConn.Execute("update tblUsers set vip=1, vipTillDatum = ADDDATE(GREATEST(COALESCE(vipTillDatum,CURDATE()),CURDATE()) , INTERVAL 30 DAY) WHERE username = '"&replace(sms,"'","''")&"'")
'set ID=objConn.Execute("SELECT tblUsers.userID, tblUsers.username FROM tblUsers where username="&sms")
'varGBDate = Date()
'varGBTime = Time()
'vartoUser=ID("userID")
'gbMessage="Du har fått 1 månads VIP i present av en användare"
'addPost = "INSERT INTO tblUsers_guestbook"
' addPost = addPost & "([fromUser],[toUser],[gbMessage],[gbDate],[gbTime],[gbRead]) "
' addPost = addPost & "VALUES(1,'"& vartoUser &"','"& varMessage &"',#"& varGBDate &"#,'"& varGBTime &"',true)"
'objConn.Execute(addPost)%>
och det finns ALLTID en användare eftersom när man klickar på länken för att ge presenten så står personens namn där.....eftersom länken finns på den personens sida :-)