2016-03-22 110 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