Опитвали ли сте да изберете един от наборите с резултати?
for result in cursor.stored_results():
people = result.fetchall()
Може да се окаже, че разпределя за множество набори от резултати, въпреки че имате само един SELECT
stmt Знам, че в MySQLi съхранените процедури на PHP правят това, за да позволят връщане на променливи INOUT и OUT (което отново нямате, но може би все пак разпределя).
Пълният код, който използвам (който работи), е:
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()