[英]Python connect to MySQL error
为什么我不断收到此错误TypeError: __init__() takes 1 positional argument but 2 were given
但当我想将 Python 与 MySQL 连接时却TypeError: __init__() takes 1 positional argument but 2 were given
?
确切的错误代码是:
Traceback (most recent call last): File "cone.py", line 4, in conn = mysql.connector.connect(f) File "C:\Python34\lib\site-packages\mysql\connector\__init__.py", line 179, in connect return MySQLConnection(*args, **kwargs) File "C:\Python34\lib\site-packages\mysql\connector\connection.py", line 57, in __init__ super(MySQLConnection, self).__init__(*args, **kwargs) TypeError: __init__() takes 1 positional argument but 2 were given
这是我的代码:
import mysql.connector
f="localhost","username","password","db"
conn = mysql.connector.connect(f)
c= conn.cursor()
c.execute("SELECT * FROM test")
rows=c.fetchall()
for eachRow in rows:
print (eachRow)
如果您已经设法修复 MySQLdb,那么您可以像这样连接
import MySQLdb
mydb = MySQLdb.connect(host = 'localhost',user = 'flo',passwd = '********',db = 'yourdb')
cur = mydb.cursor()
command = cur.execute('SELECT * FROM yourtable')
results = cur.fetchall()
print (results)
在python3.4中使用pymysql尝试相同,
安装pip3 install PyMySQL
import pymysql
conn = pymysql.connect("localhost","dev","pwd","db_name")
cur = conn.cursor()
应该像这样在mysql.connector.connect
连接
conn = mysql.connector.connect(host="localhost",user="uname", password="mypwd", database="emp_db")
例如,
>>> conn = mysql.connector.connect(f)Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/mysql/connector/__init__.py", line 98, in connect
return MySQLConnection(*args, **kwargs)
TypeError: __init__() takes exactly 1 argument (2 given)
>>> conn = mysql.connector.connect(host="localhost",user="uname", password="pwd", database="reposter$tutorial_database")
>>>
这是文档
#import mysql connector
import mysql.connector
#declare your database variables
DBHOST = 'localhost'
DBNAME = 'database_name'
DBUSER = 'root'
DBPASS = ''
#establish the connection
connection = mysql.connector.connect(host=DBHOST, database=DBNAME, user=DBUSER, passwd=DBPASS)
试试这个:
conn = mysql.connector.connect(host="host", user="username", password ="pwd", database="db")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.