Python中的Flask-mysql fetchall问题

时间:2018-11-17 08:36:02

标签: python mysql

我需要一些帮助。我无法通过python从mysql获取所有结果。我收到此错误:此页面无法正常工作127.0.0.1意外关闭了连接。 ERR_CONTENT_LENGTH_MISMATCH

这是我的代码:

...
from flaskext.mysql import MySQL
...
app = Flask(__name__)
mysql=MySQL(app)
# config mysql
app.config['MYSQL_DATABASE_HOST'] = '****'
app.config['MYSQL_DATABASE_USER'] = '****'
app.config['MYSQL_DATABASE_PASSWORD'] = '****'
app.config['MYSQL_DATABASE_DB'] = '****'
app.config['MYSQL_DATABASE_PORT'] = ****
# Init
mysql.init_app(app)

...

@app.route('/myapps')
@is_logged_in
def myapps():
    cur = mysql.get_db().cursor()
    username = session['username']
    result = cur.execute("select * from appointments where username= %s",[username])
    if result > 0:
        myapps = cur.fetchall()
        return render_template('myapps.html', myapps = myapps)
    else:
        msg = 'No appointments found'
        return render_template('myapps.html', msg=msg)
    cur.close()
<tbody>
            {% for app in myapps %}
          <tr>
            <th scope="row">{{app.app_id}}</th>
            <td>{{app.services}}</td>
            <td>{{app.start_date}}</td>
            <td>{{app.end_date}}</td>
            <td>{{app.start_hour}}</td>
            <td>{{app.end_hour}}</td>
            <td>{{app.creation_date}}</td>
            <td>{{app.username}}</td>
          </tr>
          {% endfor %}
        </tbody>

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

mysql.get_db().cursor(buffered=True)

尝试将光标内部的缓冲参数设置为True。

答案 1 :(得分:-1)

谢谢你们,但是我通过使用

解决了这个问题。

导入pymysql