import pymysql
class MyDb:
config={
"host":"localhost",
"user":"root",
"password":"123456",
"db":"music_project",
"charset":"utf8"
}
def __init__(self):
self.connection = pymysql.connect(**DbUtils.config)
self.cursor = self.connection.cursor()
def close(self):
if self.cursor:
self.cursor.close()
if self.connection:
self.connection.close()
#插入,修改,删除
def exeDML(self,sql,*args):
try:
#执行sql
count = self.cursor.execute(sql,args)
id = self.connection.insert_id()
#提交事务
self.connection.commit()
return id
except Exception as e:
print(e)
if self.connection:
self.connection.rollback()
finally:
self.close()
#查询一条
def queryone(self,sql,*args):
try:
#执行sql
self.cursor.execute(sql,args)
#获取结果集
return self.cursor.fetchone()
except Exception as e:
print(e)
finally:
self.close()
#查询多条
def queryall(self,sql,*args):
try:
#执行sql
self.cursor.execute(sql,args)
#获取结果集
return self.cursor.fetchall()
except Exception as e:
print(e)
finally:
self.close()
if __name__ == "__main__":
dbutils = MyDb()
#测试exeDML
# sql = "insert into emp(empno,ename,sal) values(%s,%s,%s)"
# count = dbutils.exeDML(sql,6666,'阿巴阿巴',9999)
# print(count)
# sql = "select * from emp where empno=%s"
# count = dbutils.queryone(sql,7788)
# print(count)
sql = "select * from t_music"
emps = dbutils.queryall(sql)
for i in emps:
print(i)

老师我也报了和评论一样的错误,可是我对照了一下资料的代码,发现好像一样啊,为什么会出现这种情况啊