在Python中从SQL查询创建变量
我正在尝试创建一个非常基本的登录。为此,我需要在“用户”表中存储与“用户名”匹配的“id”。 它只会给我一个列表,尽管不管我做了什么尝试在Python中从SQL查询创建变量,python,sql,flask,Python,Sql,Flask,我正在尝试创建一个非常基本的登录。为此,我需要在“用户”表中存储与“用户名”匹配的“id”。 它只会给我一个列表,尽管不管我做了什么尝试 我正在学习一门在线课程,但我不能使用大多数SQLAlchemy快捷方式——只能使用老式的SQL命令。我正在使用Python3和Flask来构建它 @app.route("/login", methods=["GET","POST"]) def login(): if request.method == "GET": return render_tem
我正在学习一门在线课程,但我不能使用大多数SQLAlchemy快捷方式——只能使用老式的SQL命令。我正在使用Python3和Flask来构建它
@app.route("/login", methods=["GET","POST"])
def login():
if request.method == "GET":
return render_template("login.html")
if request.method == "POST":
#find user in users table
username = request.form["username"]
rows = db.execute("SELECT id FROM users WHERE username=:username",{"username": username}).fetchall()
session["user_id"] = rows.id
return render_template("success.html", rows=rows)
如果id为1,它会返回:'(1,)'您必须使用fetchall()。例如:
rows = db.execute("""SELECT id FROM users WHERE username='%s'"""
%(str(username)))
username_string = rows.fetchall()
#You should have a list dictionary.
如果要从用户名\字符串中获取ID,可以执行以下操作:
user_id = username_string[0]
user_id_final = user_id['id']
您可以尝试使用
fetchval()
而不是fetchall()
。(fetchval()
是DB API的pyodbc扩展。)