已有184人关注
不能连接mysql数据库
还有0人有此问题
发表在Python图书答疑 2021-12-06
是否精华
版块置顶:

Traceback (most recent call last):

请问老师,我是按书上那样设置,为什么不能连接数据库?运行书本附带的代码运行也是不能运行,出错代码如下,请老师指点,谢谢!

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


分享到:
精彩评论 6
秦明_1635907594
学分:350 LV5
2021-12-06
沙发
db = pymysql.connect("localhost", "root", "root", "mrsoft")

按着网友的方法,把上面这句代码修改成下面的代码就可以正常连接了,这是为什么?

db = pymysql.connect(
host="localhost", 
user="root", 
password="root", 
database="mrsoft")


秦明_1635907594
学分:350 LV5
2021-12-06
板凳

使用python3.8进行MySQL数据库连接的时候,发现出现以下错误

init() takes 1 positional argument but 5 were given

1.源代码如下:

import pymysql
db = pymysql.connect("localhost", "root", "xxx", "xxxx")

目前的一个解决方案是,为每个参数都指定到对应的参数名上:

db = pymysql.connect(host="localhost", user="root", password="xxx", database="xxxx")

可能是python3.8的函数在使用时需要指定参数名,否则会使用默认的参数模板

-----------------------------------

©著作权归作者所有:来自51CTO博客作者新星月的原创作品

https://blog.51cto.com/u_4955660/2842786


无语_mrkj
学分:3155 LV11
2021-12-07
地板

这是因为pymysql模块升级导致的,在进行数据连接时,需要采用关键字参数的形式。

秦明_1635907594
学分:350 LV5
2021-12-09
4L

无语_mrkj 发表于2021-12-07 14:18

这是因为pymysql模块升级导致的,在进行数据连接时,需要采用关键字参数的形式。

请问老师:什么是关键字参数的形式?网友提供的方法就是关键字参数的形式吗?

无语_mrkj
学分:3155 LV11
2021-12-15
5L

对的。就是把参数的名称和对应的值一起指定。

game99258
学分:2266 LV10
2022-08-06
6L

数据库参数要设对

首页上一页 1 下一页尾页 6 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照