求教关于mySQLdb 调用 mysql存储过程(有返回参数 和 数据集)的问题

oTyg 2015-03-28 09:34:06
如题
存储过程代码:
CREATE DEFINER=`root`@`localhost` PROCEDURE `Login`(
OUT o_status varchar(10),
OUT o_msg varchar(50),

IN email varchar(50),
IN pwd varchar(100)

)
BEGIN
DECLARE u_num INT ;
DECLARE u_pwd varchar(100);
select u.ID , u.password into u_num , u_pwd from users u where u.email = email limit 1;
if u_num > 0 then
if u_pwd = pwd then
set o_status = "0";
set o_msg = "登录成功";
else
set o_status = "1";
set o_msg = "密码错误";
end if;
else
set o_status = "3";
set o_msg = "非法帐号";
end if;
select o_status,o_msg ;
select * from users;
end

Python代码:
def Login(self,email,pwd):
conn = MySQLdb.connect(host="127.0.0.1" ,user="root", passwd="123456ok.", db="cjd",charset='utf8' )
conn.autocommit(True)
cursor = conn.cursor()
#cursor = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
out1=""
out2=""
cursor.nextset()
#cursor.callproc('Login',(out1,out2,email,pwd))
cursor.callproc('Login',(out1,out2,email,pwd))
#cursor.execute("select @_Login_0, @_Login_1")
data = cursor.fetchall()
print(data)

cursor.close()
conn.close()
return "0" , "0"
#return a,b
想在py中获取到 两个传出参数 以及 select * 的结果(只是为了实现功能,此处并无实际意义)
请不吝赐教,在线等,谢谢。。。
另外想请教 torndb 可否支持该操作......
...全文
79 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
oTyg 2015-03-28
  • 打赏
  • 举报
回复
1楼没碰到这样的问题吗,

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧