2016-04-04 15 views
-3

aus irgendeinem Grund druckt es nur "None"? Aber es hat vorher funktioniert. Die Tabelle und alle Felder sind korrekt benannt, so dass ich mir nicht sicher bin, was es ist. HierSQL SELECT-Anweisung funktioniert nicht?

ist der Code für 'run_sql2'

def run_sql2(sql): 
    db = db_connect() 
    c = db.cursor() 
    c.execute(sql) 
    results=c.fetchall() 
    db.commit() 
    c.close() 
    db.close() 

ich zu einer Online-Datenbank mysql anschließe.

db_connect ist als

def db_connect(): 
    try: 
     db = mysql.connector.connect(user = 'user', password = 'pass', host = 'host', database = 'db', port = 'port') 
     print('connected') 
     return db 
    except mysql.connector.Error as error: 
     print(error) 
+1

Zeigen Sie den Inhalt des ' run_sql2' Funktion. – falsetru

+0

Gegeben irgendein Fehler ??? –

+0

Welche Datenbank? Welcher Datenbank-Connector? Haben Sie Fehler behoben, indem Sie überprüft haben, dass Sie immer noch mit der Datenbank verbunden sind? Was macht 'run_sql2()'? Woher kommt das? –

Antwort

2

folgt run_sql2() Ihre Funktion nichts zurückliefert, in Python eine Funktion Keine standardmäßig zurück, deshalb results Keine

ist
def run_sql2(sql): 
    db = db_connect() 
    c = db.cursor() 
    c.execute(sql) 
    results = c.fetchall() 
    db.commit() 
    c.close() 
    db.close() 
    return results # <---- you must return the results 
+0

Yeah. Anfängerfehler. :') Prost. – jackfromperu