这是我建立数据库连接的Python代码。但我的代码中出现类型错误。有什么问题吗?
import pymysql
connnection = pymysql.connect("localhost", "root", "", "dbname")
错误:
Traceback(most recent call last):
File "c:/Users/Dell/Desktop/Full Code/COllectUrls.py", line 21, in <module>
connnection = pymysql.connect("localhost", "root", "", "dbname")
TypeError: __init__() takes 1 positional argument but 5 were given
这样就解决了问题。
import pymysql
# Connect to the database
connection = pymysql.connect(host='localhost',
user='user',
password='passwd',
database='db',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
这适用于 3.x 版本。
import pymysql
connection = pymysql.connect(host='localhost', user='root', password='', database='db_emp', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)
cursor = connection.cursor()
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print ("Database version : %s " % data)
import pymysql
conn=pymysql.connect(host='localhost',user='root',password='12345678',database='studentdb')
我有同样的问题,并使用了 Ramlakhan Kevat 和 mkrieger1 的答案,它无需最后一个参数即可工作:
import pymysql
# Connect to the database
connection = pymysql.connect(host='localhost',
user='user',
password='passwd',
database='db',
charset='utf8mb4')