gpt4 book ai didi

Python mysql 使用变量来选择某个字段

转载 作者:行者123 更新时间:2023-11-29 16:02:17 33 4
gpt4 key购买 nike

使用 python 和 mysql 时遇到一些棘手的问题。为了简单起见,以下代码返回变量“field”中的所有内容,它是一个字符串。例如“用户名”或“密码”。

options = [field, userID]
entries = cursor.execute('select (?) from users where id=(?)', options).fetchall()
print(entries);

如果我删除第一个(?)并仅使用实际名称(如“用户名”),则此代码可以正常工作。谁能提供一些意见吗?

最佳答案

您的查询实际上形成为:

select "field" from users where id="value"

它返回一个字符串“field”而不是实际的表字段值。

您无法参数化列和表名称 ( docs ):

Parameter placeholders can only be used to insert column values. They can not be used for other parts of SQL, such as table names, statements, etc.

对该部分使用字符串格式:

options = [userID]
query = 'select {field} from users where id=(?)'.format(field=field)
cursor.execute(query, options).fetchall()

相关主题以及更多说明:

关于Python mysql 使用变量来选择某个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56086564/

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