解决问题: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')
笔者猜测可能新旧版本之间有不同,没有指定参数造成了混乱。## 卑微异步