Python与Sqlite 3,如何只提取文本,而不使用';U

Python与Sqlite 3,如何只提取文本,而不使用';U,python,python-2.7,sqlite,ascii,Python,Python 2.7,Sqlite,Ascii,我有以下代码: password_master = str(self.master_password.text()) username = str(self.comboBox.currentText()) result = c.execute("SELECT * FROM register_table WHERE MASTER = '"+password_master+"' AND USERNAME = '"+username+"'") if (len(result.fetchall()) &

我有以下代码:

password_master  = str(self.master_password.text())
username = str(self.comboBox.currentText())
result = c.execute("SELECT * FROM register_table WHERE MASTER = '"+password_master+"' AND USERNAME = '"+username+"'")
if (len(result.fetchall()) > 0):
   print("user found")
   password_check = c.execute("SELECT PASSWORD FROM register_table WHERE USERNAME = '"+username+"' AND MASTER = '"+password_master+"'").fetchall()
   password = str(password_check)
   login(username, password)
从“password\u check”查询中,我只想提取文本,因为我需要将变量“password”传递给“login”函数。 我尝试了所有方法,但始终收到以下输出:

[(u'@-passwordtest-@',)]
有没有一种简单的提取方法

passwordtest

非常感谢

首先,我将从标准警告开始。当然,这看起来不像是面向web的,但仍然是。您应该使用绑定变量

其次,您的查询将返回一个值数组,因此您尝试在包含字符串的数组上运行str()函数。我将替换以下行:

password_check = c.execute("SELECT PASSWORD FROM register_table WHERE USERNAME = '"+username+"' AND MASTER = '"+password_master+"'").fetchall()
password = str(password_check)
与:


首先不要在结果行上使用
str()
。您只需要获取一行,因此也不要获取所有行。
u
不在数据中。这只是在打印数据结构时python如何表示数据。这是打印的产物(即:将数据项列表转换为字符串)为了详细说明@BryanOakley所说的内容,这只是Python告诉您引号中的字符串是unicode字符串的方式。
u
不是日期的一部分,只是它的打印方式。谢谢大家!!!!当我看到打印的结果时,我停了下来。。。现在一切都好了,我也删除了所有。。。再次感谢!!!!
results = c.execute("SELECT PASSWORD FROM register_table WHERE USERNAME = '"+username+"' AND MASTER = '"+password_master+"'").fetchone()
password = results[0]