小白使用pymysql连接mysql数据库时,声明变量,编写语句,运行。。
???∑(O_O;)
报错:(2003, "Can't connect to MySQL server on '176.23.4.101' ([Errno -8] Servname not supported for ai_socktype)")
hosts = '127.0.0.1'
port = 3306
user = 'root'
passwd = '123456'
db_name = 'test'
charset = 'utf8'
db = pymysql.connect(hosts, user, passwd, db_name,charset)
然后,该用了这样子的方式,再次试用,居然成功了
我尼玛,这俩有啥区别,无非就是一个用了变量来接受啊啊啊
再试一次,还是一样。。。
报错:(2003, "Can't connect to MySQL server on '176.23.4.101' ([Errno -8] Servname not supported for ai_socktype)")
db = pymysql.connect(hosts,port, user, passwd, db_name,charset)
这个错误是你书写的顺序不对,port应该在db_name后面
改好之后咱们再试一次
db = pymysql.connect(hosts, user, passwd, db_name,port,charset)
报错:(2003, "Can't connect to MySQL server on '176.23.4.101' ([Errno 2] No such file or directory)")
我去。。这到底咋回事???
终于。。。找到了问题的根源,设置为如下就可以了
db = pymysql.connect('127.0.0.1', 'root', '123456', 'test', charset='utf8')
成功了,成功了,成功了!!!{{|└(>o<)┘|}}
重点就在chatset ='utf8',chatset ='utf8',chatset ='utf8'。啊啊啊
db = pymysql.connect(hosts, user, passwd, db_name,charset='utf8')
而在pymysql中的连接函数里的结构,前几个参数是这样的
host=None, user=None, password="",database=None, port=0, unix_socket=None, charset=''
所以,我报错的原因就是中间少了个unix_socket=None??少了这步骤传参吗(O_O)?
ε=(´ο`*)))唉
不要随意用位置传参
不要随意用位置传参
不要随意用位置传参