Не записывает данные в БД SQL

Только осваиваю Python и сегодня впервые столкнулся с БД, так как решил создать свой мини проект, лучшее обучение это практика. Суть создать бота, где юзер создает себе анкету, данные сохраняются в БД, затем пользователь листает анкеты других людей. Когда лайкнул, то другому человеку приходит уведомление об этом, он видит твою анкету, ставит взаимный лайк и обоим юзерам дается возможность написать в личку в telegram сообщение(ссылка на id выдается) Не судите код строго, так как интуитивно пишу, опираясь на гугл)

  1. Через что примерно можно реализовать листание анкет ?
  2. Почему у меня не записывается юзер в БД после регистрации ? Ошибку не выдает(
import telebot
from telebot import types
import random

import mysql.connector

bot = telebot.TeleBot("token")

mydb = mysql.connector.connect(
 host="localhost",
 user="blablbabla",
 password="sblalbalba",
 port="balbalb",
 database="profiles"
)

print(mydb)

mycursor = mydb.cursor()


user_dict = {}

class User:
   def __init__(self, name):
       self.name = name
       self.city = ''
       self.age = ''
       self.sex = ''
       self.about = ''


@bot.message_handler(commands=['start'])
def start(message):

   msg = bot.send_message(message.chat.id, "Привет, {0.first_name}! \n\nЯ - <b>{1.first_name}</b> бот\nПомогу тебе найти пару :)\n\n<b>Как твоё имя?</b>".format(message.from_user, bot.get_me()),
       parse_mode="html")

   bot.register_next_step_handler(msg, process_name_step)


def process_name_step(message):
   try:
       user_id = message.from_user.id
       user_dict[user_id] = User(message.text)


       msg = bot.send_message(message.chat.id, 'Из какого ты города?')
       bot.register_next_step_handler(msg, process_city_step)
   except Exception as e:
       bot.reply_to(message, 'Упс')

def process_city_step(message):
   try:
       user_id = message.from_user.id
       city = message.text
       user = user_dict[user_id]
       user.city = city

       msg = bot.send_message(message.chat.id, 'Сколько тебе лет?')
       bot.register_next_step_handler(msg, process_age_step)
   except Exception as e:
       bot.reply_to(message, 'Упс')

def process_age_step(message):
   try:
       user_id = message.from_user.id
       age = message.text
       if not age.isdigit():
           msg = bot.reply_to(message, 'Возраст состоит из цифр, введи еще раз')
           bot.register_next_step_handler(msg, process_age_step)
           return
       user = user_dict[user_id]
       user.age = age
       markup = types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
       markup.add('Парень', 'Девушка')
       msg = bot.send_message(message.chat.id, 'Укажи свой пол', reply_markup=markup)
       bot.register_next_step_handler(msg, process_sex_step)
   except Exception as e:
       bot.reply_to(message, 'oooops')

def process_sex_step(message):
   try:
       user_id = message.from_user.id
       sex = message.text
       user = user_dict[user_id]
       if (sex == u'Парень') or (sex == u'Девушка'):
           user.sex = sex
       else:
           msg = bot.reply_to(message, 'Выбери свой пол еще раз')
           bot.register_next_step_handler(msg, process_sex_step)
           return
       msg = bot.send_message(message.chat.id, "расскажи о себе")
       bot.register_next_step_handler(msg, process_about_step)
   except Exception as e:
       bot.reply_to(message, 'oooops')

# ЗАВЕРШЕНИЕ АНКЕТЫ + ЗАНЕСЕНИЕ ДАННЫХ В БД
def process_about_step(message):
   try:
       user_id = message.from_user.id
       about = message.text
       user = user_dict[user_id]
       user.about = about
       sql = "INSERT INTO users (name, city, age, sex, about, user_id) \
                                VALUES  (%s, %s, %s, %s, %s, %s)"
       val = (user.name, user.city, user.age, user.sex, user.about, user_id)
       mycursor.execute(sql, val)

       bot.send_message(message.chat.id, 'Нужная информация собрана\n\nВот твоя анкета:\n\n' +'Город ' + user.city  + '\n'  + user.name + '\nВозраст ' + str(user.age) + '\n\n' + about )
   except Exception as e:
       bot.reply_to(message, 'oooops')


if __name__ == '__main__':
   bot.polling(none_stop=True) 

Ответы (0 шт):