Проблемы при записи данных из телеграмм бота в БД mySql
Создала бота с помощью telebot и пытаюсь записать полученные данные в БД Но вместо фамилии, имени и отчества в БД попадают пустые значения
elif call.data == 'yes':
cursor = con.cursor()
sql = '''insert into client(FirstName, LastName, Patronymic, Phone)
values (%s, %s, %s, %s)'''
values = (userdata[0], userdata[1], userdata[2], user_data.get('phone', ''))
cursor.execute(sql, values)
def get_surname(message):
user_data['surname'] = message.text
bot.send_message(message.chat.id, "Укажите Военный комиссариат")
bot.register_next_step_handler(message, get_vk)
name_parts = user_data['surname'].split()
if len(name_parts) == 3:
surname = name_parts[0]
name = name_parts[1]
patronymic = name_parts[2]
return surname, name, patronymic
userdata = (surname, name, patronymic)
Ответы (1 шт):
Автор решения: Justiks
→ Ссылка
У вас не срабатывает условие if len(name_parts) == 3, и поэтому переменная surname "не появляется" при выполнении. Выход из положения, в начале функции инициализировать surname:
def get_surname(message):
surname = ""
...