Change your funcursor.execute(query, uName)
call to:
funcursor.execute(query, (uName, ))
The second argument in execute
takes a list/tuple of strings, not a string. The above call creates the tuple before passing in the string to execute
, so no error is thrown.
The reason why execute
takes a list/tuple of strings is because it does not know beforehand how many strings it needs in order to satisfy your query.