python - 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 的经验为零。
解决方案
推荐阅读
- python - 导入错误:使用 pickle.load 时没有名为“utils”的模块
- android - 在 Android 中使用 React 本机钥匙串进行人脸身份验证
- c# - ASP.NET Core - 可配置路由
- flutter - 如何修复“使用不包含 MediaQuery 的上下文调用 MediaQuery.of()”的错误?
- python - 如何按顺序连接列表的元素?
- c# - 当类从用户控件继承时,如何阻止对位置等属性的访问
- flutter - Flutter StreamBuilder 你孩子的范围是什么
- bash - 在 mac 终端上找不到导出命令
- r - Xaringan 模块演示
- python - 如何根据字典对列表中的单词进行分类?