【问题标题】:Flask-MySQLdb raises _mysql_exceptions.ProgrammingError: closing a closed connectionFlask-MySQLdb 引发 _mysql_exceptions.ProgrammingError:关闭已关闭的连接
【发布时间】:2016-12-06 21:53:33
【问题描述】:

我正在尝试使用 Flask-MySQLdb。每次我转到一个页面时,我都会收到错误 _mysql_exceptions.ProgrammingError: closing a closed connection。为什么这不起作用?

from flask import Flask, render_template, request, json
from flask_mysqldb import MySQL

application = Flask(__name__)
mysql = MySQL(application)

application.config['MYSQL_USER'] = 'root'
application.config['MYSQL_PASSWORD'] = 'password'
application.config['MYSQL_DB'] = 'db name'
application.config['MYSQL_HOST'] = 'localhost'
mysql.init_app(application)

@application.route('/')
def index():
    cur = mysql.connection.cursor()
    cur.execute("SHOW TABLES")
    rv= cur.fetchall()
    return str(rv)

if __name__ == "__main__":
    application.run()

【问题讨论】:

    标签: mysql flask mysql-python


    【解决方案1】:

    您已经在同一个应用程序上初始化了两次扩展。每次初始化时,它都会注册一个关闭连接的函数。所以第二个函数关闭了一个已经被第一个注册函数关闭的连接。从MySQL 中删除application(最好)或删除对mysql.init_app 的显式调用。

    mysql = MySQL()
    mysql.init_app(application)
    

    【讨论】:

      猜你喜欢
      • 2014-01-01
      • 2015-07-28
      • 2020-04-22
      • 1970-01-01
      • 2016-07-18
      • 2013-05-31
      • 1970-01-01
      相关资源
      最近更新 更多