【问题标题】:Update query: Unterminated string constant error asp更新查询:未终止的字符串常量错误 asp
【发布时间】:2012-07-13 10:01:22
【问题描述】:

我正在使用 asp 经典。我是 asp 新手,它的语法让我感到困惑。

我有这段代码来更新名为 jeanmeasure 的表中的数据。

这个查询有什么问题?它给出了以下错误:

现在我的代码是

Dim m1,m2,m3,m4,m5,m6,m7,m8,m9,m1d,m2d,m3d,m4d,m5d,m6d,m7d,m8d,m9d 
m1 = Request.QueryString("m1")
m2 = Request.QueryString("m2")
m3 = Request.QueryString("m3")
m4 = Request.QueryString("m4")
m5 = Request.QueryString("m5")
m6 = Request.QueryString("m6")
m7 = Request.QueryString("m7")
m8 = Request.QueryString("m8")
m9 = Request.QueryString("m9")

m1d = Request.QueryString("m1d")
m2d = Request.QueryString("m2d")
m3d = Request.QueryString("m3d")
m4d = Request.QueryString("m4d")
m5d = Request.QueryString("m5d")
m6d = Request.QueryString("m6d")
m7d = Request.QueryString("m7d")
m8d = Request.QueryString("m8d")
m9d = Request.QueryString("m9d")


sql =" UPDATE jeanmeasure SET m1 = "&m1&" , m2 = ,"&m2&", m3 = "&m3&", m4 = "&m4&", m5 = "&m5&",m6 = "&m6&",m7 = "&m7&",m8 = "&m8&",m9 = "&m9&",m1d = "&m1d&", m2d = "&m2d&", m3d = "&m3d&", m4d = "&m4d&",m5d = "&m5d&",m6d = "&m6d&",m7d = "&m7d&", m8d = "&m8d&", m9d = "&m9d&" WHERE id = 1 "
    Response.Write(sql)
     dbobj.execute(sql)

错误是 语法错误 靠近 '' = 'm1 , m2 = ,m2, m3 = m3, m4 = , m5 = m5,m6 = m6,m7 = m7,m8 = m8,m9 = m9,m1d ' 在第 1 行

【问题讨论】:

  • 您对SQL Injection 完全开放,例如。你应该使用parameterized queries。你在up 到达 SQL Server 之前检查了它的值吗?
  • 现在就忘了这个吧..我需要修复这个查询@Oded
  • 您在执行查询之前是否检查了查询的实际值?看看那个(可能张贴在这里)——这就是错误的地方。
  • 查询不正确,如何检查 up 的值
  • 输出到页面?调试并检查其值?

标签: asp-classic


【解决方案1】:

看看

m2 = ,"&m2&" 

逗号位置错了一定是

m2 = "&m2&", 

【讨论】:

    【解决方案2】:

    您的语法应该是:m1 = '"&m1&"', m2 = '"&m2&"', ...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-01
      • 2011-04-27
      • 1970-01-01
      • 2011-07-24
      • 2018-09-16
      • 2012-08-21
      相关资源
      最近更新 更多