这是我的代码:
dbcur.execute('select girismuzik from users where name = ?', [username])
rrf = dbcur.fetchone()
girismuzik = rrf
self.sendData("\x1A" + "\x0C" [girismuzik])
但这是错误:
string indices must be integers not str
这是我的代码:
dbcur.execute('select girismuzik from users where name = ?', [username])
rrf = dbcur.fetchone()
girismuzik = rrf
self.sendData("\x1A" + "\x0C" [girismuzik])
但这是错误:
string indices must be integers not str
您正在尝试在此处对字符串进行切片:
self.sendData("\x1A" + "\x0C" [girismuzik])
并girismuzik
引用一个字符串值。
也许您忘记了逗号?
self.sendData("\x1A" + "\x0C", [girismuzik])
如果没有堆栈跟踪和其他代码,很难说出更多信息。但,
self.sendData("\x1A" + "\x0C" [girismuzik])
这就是问题。
具体来说:"\x0C" [girismuzik]
这是什么,是一个字符串,然后是一个索引。(因为您可能忘记了 a ,
)。它将转换为"string"[x]
,如果x
不是 int,则为错误。
Acursor.fetchone()
可能会从您的查询中返回一个结果行的元组(其中包含一列)。
您可能更喜欢以下内容:
dbcur.execute('select girismuzik from users where name = ?', [username])
rrf = dbcur.fetchone()
girismuzik = rrf[0]
self.sendData("\x1A" + "\x0C" + girismuzik)