2016-11-21 90 views
0

我试着去得到一个表显示多条记录与MySQL和瓶

我的代码看起来有些内容:

@app.route('/') 
def home(): 
    cursor = mysql.connect().cursor() 
    cursor.execute("SELECT titlle from cards ORDER BY id desc") 
    data = cursor.fetchone() 
    return data 

,但它只能说明我一个,因为好...我使用fetchone() 米,但当时我使用的使用fetchall()它说,有太多的记录:/

我如何可以解决我的代码实际上从表中显示所有冠军

回答

0

您不能从端点返回任意的东西。你需要返回类似响应的对象。这可以是字符串,Response的实例,也可以是包含响应正文,(可选)状态代码和标题的元组。

我猜你想用标题在JavaScript中做某些事情。您可能希望以JSON响应发送它们。为此,请使用jsonify

from flask import jsonify 

# snip 
return jsonify(titles=[row['title'] for row in cursor.fetchall()]) 
+0

谢谢:) :) –

0

这是我在我的测试程序做连接到MariaDB的或MySQL,它的工作:

@main.route('/mariadb') 
def mariab(): 
    print current_app.config['MYSQL_USER'] 
    print current_app.config['MYSQL_DB'] 
    cur = mysql.connection.cursor() 
    cur.execute('SELECT titlle from cards ORDER BY id desc') 
    entries = cur.fetchall() 
    print entries 
    return render_template('mariadb.html', 
          database=current_app.config['MYSQL_DB'], 
          user=current_app.config['MYSQL_USER'], 
          entries=entries)