2016-03-22 16 views
1

私はpythonのGUIとMySQLデータベースを接続しようとしています。しかし、このコード部分は空のセットを返します。エラーコードがないので、私のコードに何が間違っているのか分かりません...助けてください!Python(GUI)とMySQLを接続

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です。したがって、selectクエリでは一致しません。

+0

これは迅速なデバッグと呼ばれるものです。ニーススポット。 – tommus

+0

あなたの助けに感謝Alecxe !!! – Eva