TypeError: __init__() takes 1 positional argument but 5 were given

解决问题:TypeError: init() takes 1 positional argument but 5 were given
笔者在初学用python连接MySQL数据库时,遇到了报错,后来几经尝试终于解决这个问题:
在这里插入图片描述
一般出现这个问题都是参数传递错误,这个异常意思是:只有一个参数位置却给出了5个。
首先查看该方法的参数:pymysql.Connect()参数说明

host(str):      MySQL服务器地址
port(int):      MySQL服务器端口号
user(str):      用户名
passwd(str):    密码
db(str):        数据库名称
charset(str):   连接编码

connection对象支持的方法
cursor()        使用该连接创建并返回游标
commit()        提交当前事务
rollback()      回滚当前事务
close()         关闭连接

cursor对象支持的方法
execute(op)     执行一个数据库的查询命令
fetchone()      取得结果集的下一行
fetchmany(size) 获取结果集的下几行
fetchall()      获取结果集中的所有行
rowcount()      返回数据条数或影响行数
close()         关闭游标对象

而且笔者发现不同版本,有的报错有的不报错。
最后修改如下:
db=pymysql.connect(host='*******',user='root',password='123456',db='shuai')
笔者猜测可能新旧版本之间有不同,没有指定参数造成了混乱。## 卑微异步

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值