ValueError:无法处理MYSQL语法的参数

时间:2019-12-23 03:45:41

标签: python mysql

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)

错误

为什么会出现这种错误?我只想显示该行。

我数据库中的表

1 个答案:

答案 0 :(得分:0)

错误是您如何将参数传递给executeexecute需要一个可迭代的(列表/元组),但是您要传递一个值。以下两行是等效的

(username)
username

要制作只有1个元素的元组,您需要添加一个逗号(,)

mycursor.execute(query, (username, ))