ich bekomme bei einer Abfrage (für mich) fragwürdige Datenbank Werte zurück. Vielleicht kann mir jemand weiterhelfen.
Ich nutze eine MYSQL Datenbank.
die ich wie folgend in initialisiere:
Code: Alles auswählen
import mysql.connector
# initialize Database
db = mysql.connector.connect(
user='root',
password='^dfdfsfdf545äöp#äüdfv56erg^y##)Yk',
host='127.0.0.1',
database='test_db')
Code: Alles auswählen
def change_user():
display_main_title()
mycursor = db.cursor()
mycursor.execute("SELECT username FROM User")
myresult = mycursor.fetchall()
print(myresult)
user = input(" \n\n\n Gib für die Anmeldung deinen Benutzer Namen ein: ")
result = 0
for row in myresult:
if str(row[0]) == user:
result = 1
break
else:
result = 0
if result == 1:
display_main_title()
write_user(user)
read_user()
print(" --- Die Anmeldung war erfolgreich ---")
else:
print("Die Anmeldung war nicht erfolgreich")
write_user("kein Nutzer")
der Ausdruck
Code: Alles auswählen
print(myresult)
[('Sepp',), ('Karin',), ('Martin',)]
Jetzt meine Frage: warum sind in den Tupels in der Liste nicht einfach die "nackten Strings" enthalten.
Sondern da ist nochmal ein Komma mit enthalten. So dass ich auch auf den eigentlichen Namen mit
Code: Alles auswählen
str(row[0])
Ist das normal oder stimmt irgendetwas am code nicht ?
Zur Datenbank fällt mir auch nicht viel ein:
username VARCHAR(25)
vielen Dank schonmal