将您的
funcursor.execute(query, uName)通话更改为:
funcursor.execute(query, (uName, ))
中的第二个参数
execute采用字符串列表/元组,而不是字符串。上面的调用在将字符串传递给之前创建了元组
execute,因此不会引发任何错误。
之所以
execute采用字符串列表/元组,是因为它事先不知道要满足您的查询需要多少个字符串。

将您的
funcursor.execute(query, uName)通话更改为:
funcursor.execute(query, (uName, ))
中的第二个参数
execute采用字符串列表/元组,而不是字符串。上面的调用在将字符串传递给之前创建了元组
execute,因此不会引发任何错误。
之所以
execute采用字符串列表/元组,是因为它事先不知道要满足您的查询需要多少个字符串。