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&"'")
Rad 32 är denna rad
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
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?
Fungerar din sql uppdelad?
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
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Så "...vipTillDatum=vipTillDatum+objConn.Execute(..." ska inte bli en addition?
Då använder du + för konkatenering, och borde ha ett + till i slutet?
Det känns som att detta är lite viktigt, borde fungerat tidigare, eftersom det kostar pengar?
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'
Missing Default Property
/sms-present.asp, line 0
A default property was not found for the object.
Hur löser man denna knepiga fråga?
Sökte på felet du får: http://www.aspfaq.com/show.asp?id=2384
Prova utan response.write för objektet test... det är väl SQL frågan du vill skriva ut..
först felet:
http://www.aspfaq.com/show.asp?id=2480
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&"'")
LarsGMedlem sedan dec. 200012 464 inlägg Du kan inte göra på det sättet. Beskriv tabellen, ge exempel på datainnehåll och det resulttat du vill uppnå.
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
emissionMedlem sedan dec. 19996 721 inlägg
WebbisNet skrev:
men kan nån se felet i orginalfrågan, allt ser ju rätt ut tycker jag iaf....inga parenteser saknas ju
Vad gör objConn.Execute mitt inne i SQL-frågan?!
Borde det inte räcka med
objConn.Execute("update tblUsers set vip=1, vipTillDatum = ADDDATE(CURDATE(), INTERVAL 30 DAY) WHERE username = '"&replace(sms,"'","''")&"'")
eller ännu hellre
objConn.Execute("update tblUsers set vip=1, vipTillDatum = ADDDATE(GREATEST(COALESCE(vipTillDatum,CURDATE()),CURDATE()), INTERVAL 30 DAY) WHERE username = '"&replace(sms,"'","''")&"'")
Dock bör du kanske först kontrollera om det verkligen finns en användare med det angivna namnet, och om inte ge tiden till den som köpte i stället.
LarsGMedlem sedan dec. 200012 464 inlägg Skall den som ger vip åt någon annan också få sin egen vip förlängd?
ne, bara den som ska få vip ska få det förlängt....den som ger presenten ska inte beröras
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 :-)
Peter SMedlem sedan dec. 20025 483 inlägg Meddelandet säger ju att det är fel i SQL:en. Skriv ut den och bifoga.
Dessutom returnerar instr() 0 om delsträngen ej hittas i söksträngen. Dock behöver du ju inte använda den, utan det räcker med 'sms = ...'.
får samma fel även om jag skriver ut den
emissionMedlem sedan dec. 19996 721 inlägg Det är klart att du får. Skriv ut den och bifoga här.