【发布时间】:2018-12-21 14:08:47
【问题描述】:
我有一个应该查询包含用户信息的数据库的基本程序。我正在尝试为特定用户选择信息并将其打印到控制台。
这是我的代码:
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。
【问题讨论】:
标签: python mysql-connector mysql-connector-python python-db-api