Телеграмм Бот + MySQL (проблема с выводом)
Создал телеграмм бота, задача у него проста, выводить данные по имени игрока которое было введено пользователем, также есть функция вывода всех игроков. Но есть проблема, что выводятся только названия столбцов, я уже несколько раз все проверил, не понимаю в чем ошибка. Буду очень благодарен за помощь
Пробовал многое, вносил в цикл try: и except: переделывал сам код, где должен быть вывод информации, делал разные конструкции. Решил оставить наиболее популрную и станртную конструкцию, которая везде участвует, но у меня не работает. Самое что интересное, в телеграмме бот выводит только 'name', хотя в самом коде если сделать print то все выводится корректно
''' def infa(message):
try:
connection = pymysql.connect(
host='',
port=3306,
user='',
password='',
database='gs74925',
cursorclass=pymysql.cursors.DictCursor
)
print("successfully connected...")
print("#" * 20)
try:
with connection.cursor() as cursor:
cursor.execute("SELECT name, password, email FROM accounts")
bot.send_message(message.chat.id,"Name Password Email")
rows = cursor.fetchall()
for row in rows:
bot.send_message(message.chat.id,row )
print(row)
finally:
connection.close()
except Exception as ex:
print("Connection refused...")
print(ex)
''' Вот часть кода которая отвечает за высылание всей информации из таблицы аккаунты (ну не всей только имя, пароль и почту) База данных в phpmyadmin соеденение устанавливается корректно, проблема только с выводом. Получается если написать bot.send_message(message.chat.id,row ) и print(row) по идее должно вывести что в телеграмме что в консоли одно и тоже, но в телеграмме выводится просто название столбца без наполнения просто 'name'. При этом в консоли выводится все верно, и даже если отслеживать вывод в тг и в консоли они идут идентично, но почему то телеграмм больше 'name' не хочет выводить (скрин прикрепил только с именами где выводится в консоли, а так почта, пароль все тоже работает)
Ответы (1 шт):
def infa(message):
try:
connection = pymysql.connect(
host='',
port=3306,
user='',
password='',
database='gs74925',
cursorclass=pymysql.cursors.DictCursor
)
print("successfully connected...")
print("#" * 20)
try:
with connection.cursor() as cursor:
cursor.execute("SELECT name, password, email FROM accounts")
message_text = "Name Password Email\n"
rows = cursor.fetchall()
for row in rows:
message_text += f"{row['name']} {row['password']} {row['email']}\n"
bot.send_message(message.chat.id, message_text)
for row in rows:
print(row['name'], row['password'], row['email'])
finally:
connection.close()
except Exception as ex:
print("Connection refused...")
print(ex)