Zkusili jste vybrat jednu z výsledkových sad?
for result in cursor.stored_results():
people = result.fetchall()
Je možné, že se přiděluje více sad výsledků, i když máte pouze jeden SELECT
stmt. Vím, že uložené procedury MySQLi v PHP to dělají, aby umožnily návraty proměnných INOUT a OUT (z nichž opět nic nemáte, ale možná to stejně alokuje).
Kompletní kód, který používám (který funguje), je:
import mysql.connector
cnx = mysql.connector.connect(user='me',password='pw',host='localhost',database='mydb')
cnx._open_connection()
cursor = cnx.cursor()
cursor.callproc("getperson",[1])
for result in cursor.stored_results():
people=result.fetchall()
for person in people:
print person
cnx.close()