问题描述
测试中,需要用不同的数据去请求接口,然后去对比数据库确认后端计算值是否正确。 在对比数据库时,发现,如果在头部就初始化DB db = pymysql.connect(host='xxx', port=3306, user='xxx', passwd='xxx', db='vcs', charset='utf8')
在循环体中创建游标cursor = db.cursor()
之后,第二次循环时,游标取值为空
解决方案
在循环中初始化BD 每次循环都重新创建游标对象
for c in id_card:
db = pymysql.connect(host='xxx', port=3306, user='xxx', passwd='xxx', db='vcs', charset='utf8')
cursor = db.cursor()
cursor.execute(sql1)
dbre = cursor.fetchall()
解决
总结
需要好好理解面向对象的思想