如何在一个函数中有2个选择查询?

时间:2016-07-24 13:39:07

标签: python mysql select flask

我希望同时在一个函数中有两个选择查询。

在shop.html中:

{% for each in result %}
    {{ each }}<br>
{% endfor %}


{% for each in result2 %}
    {{ each }}<br>
{% endfor %}

在app.py中:

@app.route('/shop/<data>')
def shop(data):
    db = MySQLdb.connect("localhost","myusername","mypassword","mydbname" )

    cursor = db.cursor()
    cursor2 = db.cursor()


    query_string = "SELECT * from users"  
    query_string2 = "SELECT * from people"  


    cursor.execute(query_string)
    cursor2.execute(query_string2)


    result = cursor.fetchall()
    result2 = cursor.fetchall()

    db.close()


    return render_template('shop.html', result=result, result2=result2)

但它不起作用。它只是获取并打印第一个选择查询。 我该如何解决?

1 个答案:

答案 0 :(得分:1)

您尝试从一个游标中取两次:

result = cursor.fetchall()
result2 = cursor.fetchall()

请注意,您在两种情况下都调用了cursor.fetchall() 。您希望第二个结果来自第二个游标:

result = cursor.fetchall()
result2 = cursor2.fetchall()