Python MySQL Connector 数据库查询%s 失败[重复]
- 2025-03-04 08:28:00
- admin 原创
- 5
问题描述:
我有一个基本程序,用于查询包含用户信息的数据库。我试图选择特定用户的信息并将其打印到控制台。
这是我的代码:
import mysql.connector
funcon = mysql.connector.connect(user='root', password='pass', host='127.0.0.1', database='fundata')
funcursor = funcon.cursor()
query = ("SELECT * FROM funtable WHERE userName=%s")
uName = 'user1'
funcursor.execute(query, uName)
for (userName) in funcursor:
print("{}".format(userName))
我将用户名存储在变量中,因为我稍后计划从 tkinter 输入框中获取用户名。当我执行此代码时,出现以下错误:
mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s' at line 1
我尝试在查询中将 %s 放在引号中,但它实际上搜索用户名“%s”却不返回任何内容。我该如何更改代码以便只查询该用户的数据库?
谢谢。
仅供参考:我正在使用 python 3.3。
解决方案 1:
将您的funcursor.execute(query, uName)
呼叫更改为:
funcursor.execute(query, (uName, ))
中的第二个参数execute
采用字符串列表/元组,而不是字符串。上面的调用在将字符串传递给之前创建了元组execute
,因此不会引发任何错误。
采用字符串列表/元组的原因execute
是因为它事先不知道需要多少个字符串才能满足您的查询。
相关推荐
热门文章
项目管理软件有哪些?
- 2025年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 项目管理必备:盘点2024年13款好用的项目管理软件
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
热门标签
云禅道AD