首页 > 解决方案 > 错误:“MySQL”对象没有属性“连接”/“MySQL”对象没有属性“get_db”

问题描述

我是烧瓶的新手,我正在编写一个基本的登录程序。每次我修改我都会以上面提到的错误结束。下面是我的代码供参考。有人可以纠正我。

@app.route('/')
def index():
    return render_template('form_ex.html')

@app.route('/',methods = ['POST'])
def Authenticate():

    login = request.form['u']
    password = request.form['p']
    cursor = mysql.get_db().cursor()
    cursor.execute("SELECT * FROM UserLogin WHERE login=%s and password=%s")
    data= cursor.fetchone()

    if data is None:

        return("Username or password incorrect")
    else:
        return("You are logged in")

标签: pythonflaskmysql-workbench

解决方案


从代码的外观看,您没有初始化 MySQL DB,取自此链接,答案如下:在 Flask 中使用 MySQL

首先你需要安装 Flask-MySQL 包。以 pip 为例:

pip install flask-mysql

接下来您需要添加一些配置并初始化 MySQL:

from flask import Flask
from flaskext.mysql import MySQL

app = Flask(__name__)
mysql = MySQL()
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'root'
app.config['MYSQL_DATABASE_DB'] = 'EmpData'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)
Now you can get connection and cursor objects and execute raw queries:

conn = mysql.connect()
cursor =conn.cursor()

cursor.execute("SELECT * from User")
data = cursor.fetchone()

推荐阅读