2015-12-15 5 views
5

Ich benutze Python-2.7 und Newbie zu mysql/mysql-Python-Connector.Executing Select-Anweisung mit mysql-python gibt keine

Ich möchte nur zum Abrufen von Daten einfach durch query- folgenden mit

SELECT D_ID, D_Link, d_name VON d_details

Aber es gibt/kehrt Keine. mein Code- ist folgende

def getdbconnection(self): 

    try: 

     self.cnx = mysql.connector.connect(user='abc',password='xxx',host = 'localhost',port = 'xxx', database='details',buffered=True)  

     print "Done" 
     self.cursor = self.cnx.cursor() 

    except MySQLdb.Error as error:  
       print "ERROR IN CONNECTION" 

def selectst(self): 
     try: 
        print "S E L E C T" 
        self.d_deta = self.cursor.execute("SELECT d_id,d_link,d_name FROM `d_details`") 
        print self.d_deta 


     except MySQLdb.Error as error: 
          print "---------------------""" 
          print(error) 
     self.cnx.commit() 

und der Ausgang ist

Done 

    S E L E C T 

    None 

Obwohl Abfrage auch in Werkbank arbeitet

Hilfe/Anleitung in jeder Form willkommen.

+1

Versuch 'Druck self.cursor.fetchall mit()' – The6thSense

+0

@VigneshKalai - Vielen Dank, das gut funktioniert! –

+0

Gerne helfen :) – The6thSense

Antwort

1

Sie sollten Ihren Code wie dieser

-Code ändern:

def selectst(self): 
    try: 
      print "S E L E C T" 
      self.cursor.execute("SELECT d_id,d_link,d_name FROM `d_details`") 
      print self.cursor.fetchall() # or fetchone() for one record 

    except MySQLdb.Error as error: 
         print "---------------------""" 
         print(error) 
    #self.cnx.commit() there is no need of commit here since we are not changing the data of the table 

Hinweise:

  • Sie keine bekommen, weil cursor.execute eine Operation im Speicher ist wie List.Sort()
  • Die Zeile kann b e bekam durch über die cursor object Iterieren oder fetch*()