... = tblUsers_guestbook.fromUser where [b]tblUsers_guestbook.[/b]fromUser='"& id &"'...
Skall man inte skriva så?
Andra frågor: Är fromUser en sträng i din databas, är ID något från request.form("id")?
Databaser & SQLur Databashanterare & SQL
28 svar · 863 visningar · startad av WebbisNet
fortsättning på förra tråden
kan nu söka på keyword men då funkar inte id-sökningen
id=request.form("id")
keyword=request.form("keyword")
Set user=objConn.Execute("SELECT * FROM tblUsers INNER JOIN tblUsers_guestbook ON tblUsers.userID = tblUsers_guestbook.fromUser where fromUser='"& id &"' and not pprivate=1 or gbMessage LIKE '%"& keyword &"%' order by gbDate desc limit 50")%>
... = tblUsers_guestbook.fromUser where [b]tblUsers_guestbook.[/b]fromUser='"& id &"'...
Skall man inte skriva så?
Andra frågor: Är fromUser en sträng i din databas, är ID något från request.form("id")?
voigtann1 skrev:
... = tblUsers_guestbook.fromUser where [b]tblUsers_guestbook.[/b]fromUser='"& id &"'...Skall man inte skriva så?
Andra frågor: Är fromUser en sträng i din databas, är ID något från request.form("id")?
fromUser är INT men det funkar inte utan '' i koden och det verkar göra att jag inte kan söka på variabeln id som är fromUser i DB
id= 0 + cint(request.form("id"))
Vi måste göra om request.form (som blir en sträng) till en integer...
voigtann1 skrev:
id= 0 + cint(request.form("id"))
id= 0 + cint(request.form("id"))
keyword=request.form("keyword")
Set user=objConn.Execute("SELECT * FROM tblUsers INNER JOIN tblUsers_guestbook ON tblUsers.userID = tblUsers_guestbook.fromUser where fromUser="& id &" and not pprivate=1 or gbMessage LIKE '%"& keyword &"%' order by gbDate desc limit 50")
funkar inte heller
vad ska din SQL sträng "träffa"? Allt som INTE är pprivate=1 eller och hämta ut alla poster som den hittar med keyword? Isåfall så känns det som det är något som fattas i din SQL...
den ska hämta allt som inte är pprivate=1 och alla träffar på det ID man söker på ELLER alla användare med det sökord som anges
SELECT * FROM tblUsers INNER JOIN tblUsers_guestbook ON tblUsers.userID = tblUsers_guestbook.fromUser where (fromUser="& id &" and not pprivate=1) or (gbMessage LIKE '%"& keyword &"%') order by gbDate desc limit 50
så eller?
voigtann1 skrev:
SELECT * FROM tblUsers INNER JOIN tblUsers_guestbook ON tblUsers.userID = tblUsers_guestbook.fromUser where (fromUser="& id &" and not pprivate=1) or (gbMessage LIKE '%"& keyword &"%') order by gbDate desc limit 50så eller?
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 'and not pprivate=1) or (gbMessage LIKE '%%') order by gbDate de
Är nog för att du inte angivit något keyword... Skall man kunna välja att inte söka på keyword och userID? Måste man fylla i båda uppgifterna på din sida för att få någon resultat?
ena eller det andra
men inte båda?
inte båda, därför har jag OR och inte AND
du får nog lägga in en
if len(keyword) = 0 then keyword = "wenjfknsduvinfudfinbuierwofnvuilnruvglfn"
Set user=objConn.Execute("SELECT * FROM tblUsers INNER JOIN tblUsers_guestbook ON tblUsers.userID = tblUsers_guestbook.fromUser where fromUser='"& id &"' and not pprivate=1 order by gbDate desc limit 50")
funkar bra men inte
if not keyword="" then
Set user=objConn.Execute("SELECT * FROM tblUsers INNER JOIN tblUsers_guestbook ON tblUsers.userID = tblUsers_guestbook.fromUser where fromUser="& id &" and not pprivate=1 or gbMessage LIKE '%"& keyword &"%' order by gbDate desc limit 50")
end if
Och vad menar du med "fungerar inte"?
får inga träffar eller bara felmeddelande
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 'and not pprivate=1 or gbMessage LIKE '%tanke%' order by gbDate
TreTvå frågor då:
Varför ger du oss inte felmeddelandet?
Varför har du apostrofer runt fromuser-värdet i den första frågan, men inte i den andra?
Varför skriver du inte ut den färdiga SQL-frågan så det blir lättare att felsöka?
med
<%id = request.form("id")
keyword=request.form("keyword")
if not keyword="" or not id="" then
Set user=objConn.Execute("SELECT * FROM tblUsers INNER JOIN tblUsers_guestbook ON tblUsers.userID = tblUsers_guestbook.fromUser where fromUser='"& id &"' and not pprivate=1 or gbMessage LIKE '%"& keyword &"%' order by gbDate desc limit 50")
end if%>
fungerar sökning på keyword men när jag söker på id så visas alla senaste 50 inlägg från alla användare och inte senaste 50 från den som har id-numret
...
Varför skriver du inte ut den färdiga SQL-frågan så det blir lättare att felsöka?
Dessutom efterlyser jag fortfarande parentser för att gruppa dina villkor.