python mysql连接器未连接

sg3maiej  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(967)

我目前正在创建一些discord bot,我有一些数据存储在mysql中,两个表在同一个数据库下。
使用mysql connector python文档中的相同示例,cnx.is\u connected返回false,并且我的“for循环”没有运行,或者错误地说我没有按正确的顺序使用它。
我与discord bot和async的代码(供idk以后参考,我的问题出在哪里):

  1. import mysql.connector
  2. import asyncio
  3. import discord
  4. client = discord.Client()
  5. cnx = mysql.connector.connect(user='user', password=’password',
  6. host='IP',
  7. database='creative role-play')
  8. cursor = cnx.cursor()
  9. @client.event
  10. async def on_message(message):
  11. if message.author == client.user:
  12. return
  13. SteamID = 0
  14. messagelower = message.content.lower()
  15. if messagelower.startswith("!verify"):
  16. steamidnum = int(message.content[message.content.index(" ") + 1:])
  17. query = ("SELECT steamid64, SteamID, CharName, TotalPlayTime FROM playerinfo, member_list "
  18. "WHERE steamid64 AND SteamID = %d") % (steamidnum)
  19. cursor.execute(query)
  20. print (cursor)
  21. if cnx.is_connected():
  22. print('sucessfull...Connected to MySQL database')
  23. for (steamid64, SteamID, CharName, TotalPlayTime) in cursor:
  24. print("{}, {}, {}".format(SteamID, CharName, TotalPlayTime))
  25. CharName = str(CharName)
  26. TotalPlayTime = int(TotalPlayTime)
  27. print (SteamID, "", steamid64)
  28. print ("confirm 1")
  29. if steamid64 == SteamID:
  30. ifrole = "has already been entered, please contact <@232233468094840832> if this is you"
  31. print ("confirm2")
  32. else:
  33. TotalPlayTime = int(TotalPlayTime)
  34. print (TotalPlayTime)
  35. if TotalPlayTime >= 86400:
  36. ifrole = "has become a Member of Modern Role-Play"
  37. role = discord.utils.get(message.server.roles, name="Member")
  38. await client.add_roles(message.author, role)
  39. add = ("INSERT INTO member_list "
  40. "(steamid64, discordname, charactername)"
  41. "VALUES (%(steamid64)s, %(discordname)s, %(charactername)s)")
  42. values = {"steamid64": SteamID,
  43. "discordname": message.author.name,
  44. "charactername": CharName,}
  45. cursor.execute(add, values)
  46. cnx.commit()
  47. else:
  48. ifrole = "does not meet the time requirement of 24 hours to become a Member"
  49. msg = "Player %s has a Playtime of %d hour's and %s! (%s)".format(message) % (CharName, TotalPlayTime / 3600, ifrole, steamidnum)
  50. await client.send_message(message.channel, msg)
  51. @client.event
  52. async def on_ready():
  53. print('Logged in as')
  54. print(client.user.name)
  55. print(client.user.id)
  56. print('--Now Online--')
  57. client.run('Token')

抱歉,如果你不想把不和谐的东西放在里面。
谢谢大家的帮助!

gstyhher

gstyhher1#

  1. password=’password',

你有一个额外的引号(soz如果我迟到)

相关问题