【问题标题】:How put specifical characters in sqlite3如何将特定字符放入 sqlite3
【发布时间】:2021-02-13 23:52:33
【问题描述】:

我正在用 python3 做一个 sql 基础,我在我的基础上添加了一些人。 我只是有两个人有问题:一个有“'”和一个有“)”

        # execut = "INSERT INTO users VALUES(Rafagraph | Notion'Art#0739, 272125469544022027, Rafagraph | Notion'Art, 1, 0, 0, 0, 0.0)"
        # cur.execute(execut)



        # execut = "INSERT INTO users VALUES ('CmoipastoiB#9926)', '703280156197912736', 'CmoipastoiB-)', 1, 0, 0, 0, 0.0)"
        # cur.execute(execut)

我在 print (' \ ' ') 中尝试过,但它不起作用。

谢谢!

【问题讨论】:

标签: python python-3.x sqlite discord.py


【解决方案1】:

您应该参数化您的 SQL,否则您很容易受到 SQL 注入的攻击。想象一下,如果某人的名字包含有效的 SQL 语句:你最终会执行它,这可能很糟糕。

statement = "INSERT INTO users VALUES (?, ?, ?)"
values = (a, b, c)
cur.execute(statement, values)

这将正确地将值转义到执行的 SQL 语句中。

【讨论】:

  • 感谢您的回答!有用!我听说过这种“注射”,但不知道如何保护它。 ty
猜你喜欢
  • 2012-07-15
  • 1970-01-01
  • 2017-07-28
  • 2011-10-21
  • 2016-09-12
  • 1970-01-01
  • 1970-01-01
  • 2019-01-11
  • 2016-09-29
相关资源
最近更新 更多