2016-04-04 7 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 

何らかの理由で「なし」と表示されますか?しかしそれは前に働いた。テーブルとすべてのフィールドは正しく名前が付けられているので、私はそれが何であるか不明です。ここでSQL SELECT文が機能していませんか?

は、私はオンラインのMySQLデータベースに接続しています 'run_sql2'

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

ためのコードです。

run_sql2()は何も返さない

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

は 'の内容を表示しないで、なぜ、それはだですrun_sql2'関数を呼び出します。 – falsetru

+0

エラーが発生しましたか? –

+0

どのデータベースですか?どのデータベースコネクタ?まだデータベースに接続していることを確認してトラブルシューティングを行いましたか? 'run_sql2()'は何をしていますか?それはどこから来たのですか? –

答えて

2

あなたの機能、Pythonで 機能を次のようにdb_connectは、デフォルトではNoneを返しますresultsはなし

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

うん。ルーキーエラー。 : ')乾杯。 – jackfromperu

関連する問題