SQL Server错误' 80040e14'附近有语法错误" ORDER"

时间:2015-11-16 15:00:35

标签: sql asp-classic syntax-error code-injection

我一直在收到SQL Server错误' 80040e14'在关键字' ORDER'附近说错误的语法。但是,它指向的行是行的第一行,其中有单词" ORDER"有人能指出我在以下sql代码中所做的语法错误吗? ASP是我一直用于这个项目的语言。

SQL = " SELECT TS.ID, types"&_
      " FROM tblTickets TS"&_
      " WHERE TS.ID = "& Request("ticketid") &" ORDER BY dateof DESC"

SET RSticket = objConn.Execute(SQL)

所以,它指出了最后一行的错误而#34; ORDER"是在不同的路线。

3 个答案:

答案 0 :(得分:0)

如果请求(" ticketid")返回字符串值,则需要在其周围添加单引号:

SQL = " SELECT TS.ID, types"&_
      " FROM tblTickets TS"&_
      " WHERE TS.ID = '"& Request("ticketid") &"' ORDER BY dateof DESC"

答案 1 :(得分:0)

ORDER BY将失败,因为dateof不是选定的字段

尝试" WHERE TS.ID = "& Replace(Request("ticketid"),"'","''") &" ORDER BY 1 DESC"

答案 2 :(得分:0)

谢谢大家,我只是错过了&的单引号包装请求(“ticketid”)。现在工作正常。