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

使用MySQLdb插入时如何保护文本

  •  0
  • Natim  · 技术社区  · 14 年前

    cursor.execute ("INSERT INTO text (text_key, language_id, text) VALUES ('%s', '%s', '%s')" % (key, language_id, text))
    

    2 回复  |  直到 14 年前
        1
  •  2
  •   Duncan    14 年前

    cursor.execute (
        "INSERT INTO text (text_key, language_id, text) VALUES (%s, %s, %s)",
        (key, language_id, text))
    

    这样才能正确处理报价。

        2
  •  2
  •   Ignacio Vazquez-Abrams    14 年前

    您所做的将导致SQL注入漏洞。传递参数化查询作为第一个参数,传递值序列作为第二个参数。