import mysql.connector
mydb = mysql.connector.connect(host= 'localhost', user='root', passwd="barbie", db='data')
mycursor = mydb.cursor() #execute, fetch data act as a pointer
print("Connected to database")
query = ("select name , matric from users where username = %s")
username = 'shawn'
mycursor.execute(query, (username))
print ("Fetching single row")
record = mycursor.fetchone
print (record)
错误
为什么会出现这种错误?我只想显示该行。
我数据库中的表
答案 0 :(得分:0)
错误是您如何将参数传递给execute
。 execute
需要一个可迭代的(列表/元组),但是您要传递一个值。以下两行是等效的
(username)
username
要制作只有1个元素的元组,您需要添加一个逗号(,)
mycursor.execute(query, (username, ))