mysql.用于python的连接器:SQL语句中并没有使用所有参数



在一个项目中工作,我使用MySQL作为用户数据库。

我已经尝试通过更改请求来解决这个问题。表单到请求。表单。得到,但无济于事。

from flask import Flask, render_template, request, redirect, url_for, session
app = Flask(__name__)
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="",
database="jimblonium"
)
mycursor = mydb.cursor()

@app.route('/')
def hello():
return render_template('index.html')
@app.route("/login")
def login():
return render_template ('login.html')
@app.route("/l", methods =['GET', 'POST'])
def passIt():
username = request.form.get("username")
password = request.form.get("password")
if request.method == 'POST':
# return username
if request.method == 'POST':
mycursor.execute('SELECT * FROM users WHERE username = % s AND password = % s', (username, password, ))
account = mycursor.fetchone()
if account:
return "done!"

你可以试试:

myvar =  request.form["username"]
myvartwo = request.form["password"]

您的查询中有语法错误,占位符是%s,并且您正在用% s插入空格。您需要将其修改为:

mycursor.execute('SELECT * FROM users WHERE username = %s AND password = %s', (username, password, ))

相关内容