gpt4 book ai didi

Python从字典中删除单引号

转载 作者:行者123 更新时间:2023-11-29 12:44:06 29 4
gpt4 key购买 nike

我有以下 PostgreSQL 查询

data = {'token':"123",'kart_user':"tablename"}
select_stmt = "SELECT * FROM %(kart_user)s WHERE token = %(token)s"
self.cur.execute(select_stmt, data)
result = self.cur.fetchone()

在选择查询中%(kart_user)s以单引号的形式表示
我的问题是如何从同一个查询中删除引号??。

最佳答案

使用 SQL 参数的全部要点是为了防止数据被解释为 SQL 对象或语法。不能使用 SQL 参数来命名表;您只能对数据使用 SQL 参数。

您必须单独插入表名。这确实意味着您冒着向 SQL 注入(inject)开放代码的风险;如果表名来自用户输入,我会根据已知表名列表测试表名。

assert data['kart_user'] in known_tables
select_stmt = "SELECT * FROM {} WHERE token = %(token)s".format(data['kart_user'])
self.cur.execute(select_stmt, data)

关于Python从字典中删除单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34266555/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com