代码之家  ›  专栏  ›  技术社区  ›  Freddakos

会话sql查询中的语法帮助

  •  0
  • Freddakos  · 技术社区  · 7 年前

    在一个经典的ASP页面中,我有2个会话变量(session_1)&(会话2)。 我想从一个sql数据库表中检索数据,该表中的竞争等于上述会话。 例如:

    select * from table.xxx WHERE field.xxx = session_1 AND field.fff = session_2
    

    我需要有关上述查询的正确语法的帮助

    1 回复  |  直到 7 年前
        1
  •  1
  •   Josh Montgomery    7 年前

    我是 猜测 您只是在执行sql语句,而不是使用 parameterized queries

    sql = "select * from table.xxx......."
    

    现在,在上面的示例中,您有:

    WHERE field.xxx = session_1 AND field.fff = session_2
    

    同一个字段不能在一个记录中包含2个值,正如您使用AND关键字所建议的那样,因此它应该看起来像:

    WHERE field.xxx = session_1 OR field.fff = session_2
    

    现在,我们希望将实际会话变量放入要执行的sql字符串中:

    sql = "select * from table.xxx WHERE field.xxx = '" & Session("session_1") & "' OR field.fff = '" & Session("session_2") & "'"
    

    清理数据并防止 sql injection 但就目前而言,要了解基本知识,这应该会让你朝着正确的方向前进。