我有这样的方法:
from app.database import db
def get_channels_list(user_token):
data = jwt.decode(user_token, app.config.get('JWT_SECRET'))
connection = db.engine.raw_connection()
try:
cursor = connection.cursor()
cursor.callproc("permission_list_user", [958539, 'web'])
results = list(cursor.fetchall())
cursor.close()
connection.commit()
finally:
connection.close()
print(len(results))
return success(results)
当我运行它时,我得到len(results) == 0
但是当我通过mysql控制台运行相同的程序时:
CALL permission_list_user(958539, 'web');
我得到它应该返回的结果。
答案 0 :(得分:1)
我遇到了同样的问题,我不喜欢这种方式,但是我解决了在调用过程后运行SELECT查询的问题:
query ='call loginAPI("{0}","{1}",@logged, @hashAPI)'.format(user,password)
select = 'select @logged, @hashAPI'
cursor.execute(query)
cursor.execute(select)
rv = cursor.fetchall()
寻找更漂亮的解决方案。