从数据库中分配变量

Assign variable from database

我正在尝试使用 rfid 和密码而不是常规的“1234”创建一个 python 智能锁,我正在使用带 PyOTP Libray 的时间 OTP。

目前,我对如何使用来自 table 用户的 secret 的数据在 if 函数中分配 secret 变量值感到困惑。

如何将用户 table 的 secret 值分配给变量 secret

如果函数

print("Place card near scanner")
id, text = reader.read()
cursor.execute("Select id From users Where rfid_uid="+str(id))
result = cursor.fetchone()

if cursor.rowcount > = 1:
   print("Welcome\nType the code from your authenticator app")
   secret = ('''The data from "secret" in users table''')

用户Table

+----+--------------+-------------+------------------+---------------------+
| id | rfid_uid     | name        | secret           | created             |
+----+--------------+-------------+------------------+---------------------+
|  1 | 939940479059 | Blue Dongle | LONGSTRINGOFCODE | 2020-12-10 09:07:34 |
+----+--------------+-------------+------------------+---------------------+

谢谢

如果您修改 select 语句,除了 id.

之外,您还应该能够 select secret
print("Place card near scanner")
id, text = reader.read()
cursor.execute("SELECT id, secret FROM users WHERE rfid_uid="+str(id))
result = cursor.fetchone()

if cursor.rowcount >= 1:
    print("Welcome\nType the code from your authenticator app")
    secret = result[1]