2016-04-04 13 views
-3
def showallres(): 
    sql = '''SELECT ResidentID,FirstName,SurName,Age,MDisability,History,Impairment,Money,Contact 
    FROM tblResidentM''' 
    results = run_sql2(sql) 
    print(results) 
    return results 

Bazı nedenlerden dolayı 'Hiçbiri' yazdırmıyor? Ama daha önce çalıştı. Tablo ve tüm alanlar doğru olarak adlandırılmıştır, bu yüzden ne olduğundan emin değilim. İşte SQL SELECT ifadesi çalışmıyor mu?

Ben bir online MySQL veritabanına bağlanırken 'run_sql2'

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

kodudur.

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

içeriğini göster var olduğu ' run_sql2' işlevi. – falsetru

+0

Herhangi bir hata verildi ??? –

+0

Hangi veritabanı? Hangi veritabanı bağlayıcısı? Hala veritabanına bağlı olduğunuzu kontrol ederek sorun mu yaşıyorsunuz? Run_sql2() işlevi nedir? Nereden geliyor? –

cevap

2

İşleviniz run_sql2() bir işlev varsayılan olarak Hiçbiri döndüren Python, şey dönmez şöyle

db_connect results Yok neden olduğunu

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

Evet. Çaylak hatası. : ') Şerefe. – jackfromperu