これはpostresqlのデータベースと対話するアプリケーションのログイン機能です。私はPythonには新しく、現在はexceptブロックの両方のprint文が実行されています。 エラーは次のとおりです。cur.execute(mtype、(member_id、))理由について何か感謝します。pythonデータベースアプリケーションtryブロック以外
def check_login(member_id, password):
conn = database_connect()
if(conn is None):
return None
cur = conn.cursor()
try:
mtype = """SELECT 'athlete' FROM athlete
WHERE member_id=%s
UNION
SELECT 'official' FROM official
WHERE member_id=%s
UNION
SELECT 'staff' FROM staff
WHERE member_id=%s"""
cur.execute(mtype, (member_id,))
user_type = cur.fetchone()
except:
print("Error retrieving member type")
try:
sql = """SELECT member_id, title, given_names AS first_name, family_name, country_name, place_name AS residence
FROM public.country JOIN public.member USING (country_code) JOIN public.place ON (accommodation = place_id)
WHERE member_id=%s AND pass_word=%s"""
cur.execute(sql, (member_id, password))
user_data = cur.fetchone()
tuples = {
'member_id': user_data[0],
'title': user_data[1],
'first_name': user_data[2],
'family_name': user_data[3],
'country_name': user_data[4],
'residence': user_data[5],
'member_type': user_type[0]
}
cur.close()
conn.close()
return tuples
except:
print("Error Invalid Login")
cur.close()
conn.close()
return None
あなたはすべての例外を捕まえており、私たちに例外を示さないで例外がスローされた理由を尋ねています。 – DeepSpace
例外をキャッチして、それを投稿しないでください。 –
例外が最初にヒットした理由を知りたいですか?それとも、例外が何に当たるのかを知りたいですか? – Luke101