2016-03-22 71 views
1

我试图用python GUI连接MySQL数据库。但是这部分代码返回一个空集。我不确定我的代码有什么问题,因为没有错误代码...请帮助!将MySQL与Python连接(GUI)

def ButtonPressed (self): 
    print("Finding Parts!") 
    self.ProdNum = self.aVar.get() 
    print("Entry text was:", self.ProdNum) 

    self.db = mysql.connector.connect (user='ezhu', password='<password>', host='127.0.0.1', database='centricsit_prices') 
    self.query = ("SELECT sd, sy, price FROM css_hp WHERE prod_num = '%s'") 
    self.cursor = self.db.cursor() 
    self.cursor.execute (self.query, (self.ProdNum)) 
    self.results = self.cursor.fetchall() 
    print (self.results) 
    self.cursor.close() 
+0

@alecxe:好的,不像127.0.0.1可以用来获取OP的数据库...... –

回答

1

你缺少逗号:

self.cursor.execute (self.query, (self.ProdNum,)) 
              HERE^ 

这是因为预计该查询参数作为迭代传递非常重要。逗号会使它成为一个元组。如果没有逗号,则会将查询参数作为字符串传递,这也是可迭代的,因此您的查询将使用第一个字符self.ProdNum进行参数化,因此没有与选择查询匹配。

+0

这就是调用快速调试的方法。不错的地方。 – tommus

+0

感谢您的帮助Alecxe! – Eva