Я думаю, что вы получили эту ошибку, потому что python не может объединять целые числа и строки, если они не были явно преобразованы с использованием str()
Я предполагаю, что вы используете SQLite3? Если это так, то здесь правильный синтаксис для запроса.
insert_query = """INSERT INTO employee.details (name, emp_id, age, contact, address) VALUES (?, ?, ?, ?, ?)"""
cur = conn.cursor()
cur.execute(insert_query, (name, emp_id, age, phone_num, address))
one_row = cur.fetchone() # This will only get one row of the data
all_data = cur.fetchall() # This will get all rows of data in a list of tuples
conn.commit()
conn.close() # only if this is last db change
Создание шаблонов в вашем запросе с использованием кортежа автоматически экранирует строки и предотвращает SQL внедрение . Он также преобразует ваши целые числа в строки, исправляя вашу ошибку.