首页 > 解决方案 > Python 多个 MySQL 查询

问题描述

我正在为我的频道创建一个 Discord 机器人。

def getPSN(id):
    query = ("SELECT psn FROM users WHERE id = %s LIMIT 1")
    cursor.execute(query, (id,))
    psn = cursor.fetchone()[0]
    return psn


@client.command(name="reports")
async def reports():
    query = ("SELECT involved_id, reporter_id FROM stewards WHERE status = 0")
    cursor.execute(query)
    for (involved_id, reporter_id) in cursor:
        await client.say("Involved: " + getPSN(involved_id) + " Reporter: " + getPSN(reporter_id))

在 Discord 聊天中使用 !reports 命令调用函数 Reports,然后从数据库中获取打开的管家报告。在 client.say 中,我将其返回聊天,并在 getPSN() 函数中将他们的 ID 转换为他们的名字。

当我尝试它时,它会返回

涉事:某某记者:某某

但应该有大约 6 个结果。当我从 client.say 中删除 getPSN 时,它显然会返回带有 ID 而不是名称的所有 6 个结果。

我假设当我用 getPSN 查询或其他东西“替换”它时忘记了第一个查询?

我对 Python 的经验为零。

标签: pythonmysql

解决方案


推荐阅读