Nerde hata yapıyorım

Hata veren kod parçası:

sql = "SELECT id FROM kullanıcılar WHERE Ad={ad} AND Soyad={soyad} AND Parola={parola}"
    id = mycursor.execute(sql)
    print(Fore.GREEN + "Kullanıcı başarıyla oluşturuldu." + Style.RESET_ALL)
    print(f"""Kullanıcı bilgileriniz:
    Adınız: {ad}
    Soyadınız: {soyad}
    Parolanız: {parola}
    Kullanıcı kodunuz: {id} """)
  1. Kod yanlış girintilenmiş.
  2. mycursor tanımlanmamış bir değişken.
  3. Fore tanımlanmamış bir değişken.
  4. Style tanımlanmamış bir değişken.
  5. ad tanımlanmamış bir değişken.
  6. soyad tanımlanmamış bir değişken.
  7. parola tanımlanmamış bir değişken.
2 Beğeni

1 hakkında girintiyi kopyalamamışım ilk satırın 2 den 7 ye kadar 7 dahil tanımlı değişkenler

Hani?

kodun tamamını atmadım atıyım mı?

Tabii ki.

Öncelikle sadece beş dakikanızı ayırıp burayı okumanızı tavsiye ederim.

1 Beğeni
import mysql.connector
import re
from colorama import Fore, Style
import clear_screen
import time

mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    password="Karalama01.",
    database="atm"
)

mycursor = mydb.cursor()

while True:
    işlem = input("""Hesap İşlemleri
          [1]-Giriş yap
          [2]-Hesap oluştur
          Seçim: """)
    if işlem == "1" or işlem == "2":
        break
    print(Fore.RED + "hatalı giriş!!!" + Style.RESET_ALL)
    clear_screen.clear()
if işlem == "1":
    pass
if işlem == "2":
    while True:
        ad = input("Adınız: ")
        if len(ad) < 3:
            print(Fore.RED + "Adınız 3 veya daha fazla karakter içermelidir." + Style.RESET_ALL)
            clear_screen.clear()
        else:
            break
    while True:
        soyad = input("Soyadınız: ")
        if len(soyad) < 3:
            print(Fore.RED + "Soyadınız 3 veya daha fazla karakter içermelidir." + Style.RESET_ALL)
            clear_screen.clear()
        else:
            break
    while True:
        input_p = input("Parolanız: ")
        parola_t = input("Parolanızı tekrarlayın: ")
        if input_p == parola_t:
            regex = re.search("[0-9]", input_p)
            regex_2 = re.search("[a-z]", input_p)
            if regex is not None and len(input_p) >= 8 and regex_2 is not None:
                parola = input_p
                break
            else:
                print(
                    Fore.RED + "Hata: Parolanız sayı ve harf içermeli ve en az 8 karakter uzunluğunda "
                                "olmaladır." + Style.RESET_ALL)
                time.sleep(2)
                clear_screen.clear()
    sql = "INSERT INTO Kullanıcılar (Ad, Soyad, Parola, Bakiye) VALUES (%s, %s, %s, 0)"
    val = (ad, soyad, parola)
    mycursor.execute(sql, val)
    mydb.commit()
    sql = "SELECT id FROM kullanıcılar WHERE Ad= %s AND Soyad=%s AND Parola=%s"
    id = mycursor.execute(sql)
    print(Fore.GREEN + "Kullanıcı başarıyla oluşturuldu." + Style.RESET_ALL)
    print(f"""Kullanıcı bilgileriniz:
    Adınız: {ad}
    Soyadınız: {soyad}
    Parolanız: {parola}
    Kullanıcı kodunuz: {id} """)

Çözdüm:
Eski kod parçası:

sql = "SELECT id FROM kullanıcılar WHERE Ad={ad} AND Soyad={soyad} AND Parola={parola}"
    id = mycursor.execute(sql)
    print(Fore.GREEN + "Kullanıcı başarıyla oluşturuldu." + Style.RESET_ALL)
    print(f"""Kullanıcı bilgileriniz:
    Adınız: {ad}
    Soyadınız: {soyad}
    Parolanız: {parola}
    Kullanıcı kodunuz: {id} """)

Yeni kod parçası:

    sql = "SELECT id FROM kullanıcılar WHERE Ad= %s AND Soyad=%s AND Parola=%s"
    bilgiler = (ad, soyad, parola)
    mycursor.execute(sql, bilgiler)
    id = mycursor.fetchone()
    print(Fore.GREEN + "Kullanıcı başarıyla oluşturuldu." + Style.RESET_ALL)
    print(f"""Kullanıcı bilgileriniz:
    Adınız: {ad}
    Soyadınız: {soyad}
    Parolanız: {parola}
    Kullanıcı kodunuz: {id[0]} """)