Ich möchte zwei Auswahlabfrage in einer Funktion gleichzeitig haben.Wie 2 Abfragen in einer Funktion haben?
In shop.html:
{% for each in result %}
{{ each }}<br>
{% endfor %}
{% for each in result2 %}
{{ each }}<br>
{% endfor %}
In 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)
Aber es funktioniert nicht. Es erhält und druckt die erste ausgewählte Abfrage. Wie kann ich es beheben?
Ihr Code funktioniert einwandfrei; Bist du * sicher *, dass die zweite Auswahlabfrage irgendwelche Daten zurückgibt? Mit anderen Worten, haben Sie versucht, * nur * die zweite Abfrage auszuführen, oder versucht zu sehen, was passiert ist, als Sie sie ausgetauscht haben? –
ja jede Abfrage funktioniert gut, aber nicht, wenn sie beide in einer Funktion zu sammeln sind. – niloofar
Ja, Sie haben einen Tippfehler. Der zweite Aufruf sollte 'result2 = cursor2.fetchall()' sein. –