【发布时间】:2020-12-20 11:53:57
【问题描述】:
我目前正在用 python 编写一个 rpg 游戏,它使用 mysql 数据库来存储玩家的信息。但是,我遇到了一个问题。
如何设置数据库的示例代码:
playerinfo Table
userID | money | xp |
1 | 200 | 20 |
2 | 100 | 10 |
我正在尝试仅使用价值来选择金额。我现在的选择查询是
SELECT money FROM playerinfo WHERE id = 1
收集选择信息的完整代码/功能是
def get_money_stats(user_id):
global monresult
remove_characters = ["{", "}", "'"]
try:
with connection.cursor() as cursor:
monsql = "SELECT money FROM players WHERE userid = %s"
value = user_id
cursor.execute(monsql, value)
monresult = str(cursor.fetchone())
except Exception as e:
print(f"An error Occurred> {e}")
当前输出:
{'money': 200}
期望的输出:
200
基本上,我只想选择玩家行中的 INT/DATA(由唯一的用户 ID 标识)。我怎么做?我唯一的解决方案是用其他东西替换字符,但我真的不想这样做,因为它非常不方便和混乱。还有其他方法可以重新格式化/选择数据吗?
【问题讨论】:
-
也许你想要:
monresult = cursor.fetchone()[0]? -
为什么是
[0]而不是[1]? -
我认为 fetchone() 在你的情况下应该返回一个元组 (200,) 对吧?
-
它目前正在返回
{'money': 0},所以我相信它是一个字典,而不是一个元组
标签: python python-3.x mysql-python mysql-connector