代码之家  ›  专栏  ›  技术社区  ›  Iustin Beceneagă

python中flask mysql fetchall的问题

  •  0
  • Iustin Beceneagă  · 技术社区  · 6 年前

    我需要帮助。我无法通过python从mysql获取所有结果。我遇到了一个错误:此页无法工作127.0.0.1意外关闭了连接。 错误内容长度不匹配

    这是我的代码:

    ...
    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 回复  |  直到 6 年前
        1
  •  0
  •   BarathVutukuri    6 年前
    mysql.get_db().cursor(buffered=True)
    

    尝试在游标内部将缓冲参数设置为true。

        2
  •  -1
  •   Iustin Beceneagă    6 年前

    谢谢你们,但我用

    导入pymysql