Dies ist eine Anmeldefunktion in einer Anwendung, die mit einer Datenbank in postresql interagiert. Ich bin neu in Python und derzeit beide print-Anweisungen in der Ausnahme Blöcke werden gerade ausgeführt. Der Fehler ist in: cur.execute (mtype, (member_id,)) Irgendwelche Ideen über, warum sehr geschätzt.Python-Datenbankanwendung versuchen außer Block
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
Sie fangen alle Ausnahmen ab und fragen, warum eine Ausnahme ausgelöst wird, ohne uns die Ausnahme anzuzeigen. – DeepSpace
Fangen Sie nicht die Ausnahme und post, was es ist. –
Möchten Sie wissen, warum die Ausnahmen überhaupt betroffen sind? Oder möchten Sie wissen, warum die Ausnahmen überhaupt betroffen sind? – Luke101