Python3 pymysql模塊連接數據庫報錯: TypeError: __init__() takes from 1 to 5 positional arguments but 6 were given


新版本pymysql模塊問題導致的錯誤,其他原因導致請繞道

Python代碼如下:

  運行報錯: TypeError: __init__() takes from 1 to 5 positional arguments but 6 were given

#!/usr/bin/python3
 
import pymysql

sql = f"select * from serverlist where ip='192.168.10.36'"
# 打開數據庫連接
db = pymysql.connect("192.168.10.10", "root", "password", "db_name", 3306 )
# 使用 cursor() 方法創建一個游標對象 cursor cursor = db.cursor() # 使用 execute() 方法執行 SQL 查詢 cursor.execute(sql) # 使用 fetchone() 方法獲取單條數據. data = cursor.fetchone() print (data) # 關閉數據庫連接 db.close()

兩種方法:

可能是新版本問題,我下面這1.0.1版本就有問題

檢查pymysql版本:

pip3 show pymysql

 

 

方法一: 

可安裝舊版本解決報錯:

先卸載當前版本

pip3 uninstall pymysql

安裝指定0.10.1版本

pip3 install pymysql==0.10.1

再次運行腳本,就不再報錯了

方法二:

或者把連接語句做下修改,鍵值匹配

db = pymysql.connect(host="192.168.10.10", user="root", passwd="password", db="db_name", port=3306 )

再次運行腳本


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM