python连接mysql调用存储过程示例

代码如下:

#!/usr/bin/env python# -*- coding: utf8 -*-import mysqldbimport timeimport os, sys, stringdef callproc(id,onlinetime):”’调用存储过程,输入参数:编号,在线时间,输出:帐号,密码;使用输出参数方式”’accname=”accpwd=”conn = mysqldb.connect(host=’localhost’,user=’root’,passwd=’111111′,db=’ceshi’)cur =conn.cursor()cur.callproc(‘proctest’,(id,onlinetime,accname,accpwd))cur.execute(‘select @_proctest_2,@_proctest_3′)data=cur.fetchall()if data:for rec in data:accname=rec[0]accpwd=rec[1]cur.close()conn.close();return accname,accpwddef callproct(id,onlinetime):”’调用存储过程,输入参数:编号,在线时间,输出:帐号,密码;使用select返回记录方式”’accname=”accpwd=”conn = mysqldb.connect(host=’localhost’,user=’root’,passwd=’111111′,db=’ceshi’)cur =conn.cursor()cur.nextset()cur.execute(‘call ptest(%s,%s)’,(id,onlinetime))data=cur.fetchall()if data:for rec in data:accname=rec[0]accpwd=rec[1]cur.close()conn.close();return accname,accpwdname,pwd=callproct(1,0)print name,pwd