小编Seb*_*es 的帖子

使用%s的Python MySQL Connector数据库查询失败

我有一个基本程序,应该查询包含用户信息的数据库.我正在尝试为特定用户选择信息并将其打印到控制台.

这是我的代码:

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))
Run Code Online (Sandbox Code Playgroud)

我将用户名存储在变量中,因为稍后我计划从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
Run Code Online (Sandbox Code Playgroud)

我已经尝试将%s放在查询中的引号中,但随后它逐字地搜索用户名'%s'并且不返回任何内容.如何更改我的代码,以便只查询该用户的数据库?

谢谢.

仅供参考:我使用的是python 3.3.

python mysql-connector python-db-api mysql-connector-python

5
推荐指数
1
解决办法
4372
查看次数