Ошибка при выборе данных из MySQL

Как сделать выборку данных из MySQL?

from telethon import TelegramClient
import time
import pymysql
 
con = pymysql.connect('localhost', 'Admin', 'p6nO0OUp2M12123213213', 'Databse')
cur = con.cursor()

x = 2

while(True):
    print("Очередь аккаунта № " + str(x))
    cur.execute(f"SELECT PHONE FROM Account WHERE ID = '{x}'")
    time.sleep(0.2)
    Phone = str(cur.fetchall()[0])
    print("Входим в аккаунт: " + Phone)
    cur.execute(f"SELECT PASS FROM Account WHERE ID = '{x}'")
    time.sleep(0.2)
    password = str(cur.fetchall()[0])
    print(password)
    cur.execute(f"SELECT API_ID FROM Account WHERE ID = '{x}'")
    time.sleep(0.2)
    api_id = str(cur.fetchall()[0])
    cur.execute(f"SELECT API_HASH FROM Account WHERE ID = '{x}'")
    time.sleep(0.2)
    api_hash = str(cur.fetchall()[0])
    session = str("anon" + str(x))
    print(Phone, " номер")
    print(password, " пароль")
    print(api_id, " Api id")
    print(api_hash, " Хеш")
    client = TelegramClient(session, api_id, api_hash)
    client.start()
    x = x + 1
    time.sleep(1)
    if x == 32:
        print("Aккаунты активированы!")
        break

Ошибка

Входим в аккаунт: ('15543543545',)
('ASDFGH',)
('15543543545',)  номер
('ASDFGH',)  пароль
('14256',)  Api id
('632',)  Хеш
Traceback (most recent call last):
  File "create_client.py", line 31, in <module>
    client = TelegramClient(session, api_id, api_hash)
  File "/usr/local/lib/python3.8/site-packages/telethon/client/telegrambaseclient.py", line 286, in __init__
    self.api_id = int(api_id)
ValueError: invalid literal for int() with base 10: "('14256',)"

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

Автор решения: Namerek

Ну вот что-то такое у меня получилось из Вашего кода. Я бы конечно убрал все рюшки ввиде вывода вообще, но тут хозяин - барин

from telethon import TelegramClient
import time
import pymysql

con = pymysql.connect('localhost', 'Admin', 'p6nO0OUp2M12123213213', 'Databse')
cur = con.cursor()

x = 2

cur.execute(f"SELECT COUNT(ID) FROM Account")

accounts_qty, *_ = cur.fetchone()

while x < accounts_qty + 1:
    print(f"Очередь аккаунта № {x}")
    cur.execute(f"SELECT PHONE,PASS, API_ID, API_ID FROM Account WHERE ID = '{x}'")
    Phone, password, api_id, api_hash = cur.fetchone()

    print(f"Входим в аккаунт: {Phone}")
    time.sleep(1)
    session = str(f"anon{x}")
    print(f"{Phone} номер")
    print(f"{password} пароль")
    print(f"{api_id} Api id")
    print(f"{api_hash} Хеш")
    client = TelegramClient(session, api_id, api_hash)
    client.start()
    x += 1
    time.sleep(1)
else:
    print("Aккаунты активированы!")

UPD Небольшая фантазия "на тему":

from telethon import TelegramClient
import time
import pymysql

con = pymysql.connect('localhost', 'Admin', 'p6nO0OUp2M12123213213', 'Databse')
cur = con.cursor()

cur.execute(f"SELECT ID, PHONE, PASS, API_ID, API_ID FROM Account;")
accounts = cur.fetchall()

activated_accounts = []
fail_activation = dict()

for account in accounts:
    id_, phone, password, api_id, api_hash = account
    try:
        TelegramClient(f'anon{id_}', api_id, api_hash).start()
        activated_accounts += [id_]
    except Exception as err:
        fail_activation.update(
            {
                id_: err
            }
        ) 
    time.sleep(1)

if activated_accounts:
    success_report = '\n'.join(activated_accounts)
    print(f"Аккаунты\n{success_report}\nУспешно активированы!")
if fail_activation:

    fail_print_str = '\n'.join(
        ['-'] * 30 + [
            f'Аккаунт {i} не активирован. Причина: {e}' for i, e in [error for error in fail_activation.items()]
        ]
    )
    print(fail_print_str)
→ Ссылка