Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 得到一个;TypeError:需要一个整数";尝试连接到MySQL时_Python_Mysql Python - Fatal编程技术网

Python 得到一个;TypeError:需要一个整数";尝试连接到MySQL时

Python 得到一个;TypeError:需要一个整数";尝试连接到MySQL时,python,mysql-python,Python,Mysql Python,这里的Python新手总数 我正在跟随来自的教程。但是,当我运行代码时,控制台中出现以下错误 Traceback (most recent call last): File "/Users/tejenshrestha/Documents/ProjectAccess/access/trunk/analysis/src/json_xml/Database.py", line 37, in <module> con = MySQLdb.connect(socket, dbhos

这里的Python新手总数

我正在跟随来自的教程。但是,当我运行代码时,控制台中出现以下错误

Traceback (most recent call last):
  File "/Users/tejenshrestha/Documents/ProjectAccess/access/trunk/analysis/src/json_xml/Database.py", line 37, in <module>
    con = MySQLdb.connect(socket, dbhost, dbuser, dbpass, dbname);
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQLdb/connections.py", line 187, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
TypeError: an integer is required

从周围的港口报价,看看这是否有效



端口=3306

我认为您需要标记connect函数中的参数,请参见此处的顶部答案:


从端口周围引用,看看是否有效



端口=3306

我认为您需要标记connect函数中的参数,请参见此处的顶部答案:


我以前尝试过一个get和错误,比如:
参数3必须是String类型的。我尝试重新排列参数的顺序,以便套接字和端口(端口是一个数字)是最后的参数,但仍然会得到相同的错误。我不确定我的论点排序是否正确。除非标记参数,否则不应更改参数的顺序,因此函数调用看起来像
MysqlDB.connect(port=3306,…)
。因此,请尝试用函数的专有名称标记函数的参数。没问题,@icanc。您应该单击链接并向上投票原始答案。我以前尝试过一个get和错误,如:
参数3必须是String类型的
。我尝试重新排列参数的顺序,以便套接字和端口(端口是一个数字)是最后的参数,但仍然会得到相同的错误。我不确定我的论点排序是否正确。除非标记参数,否则不应更改参数的顺序,因此函数调用看起来像
MysqlDB.connect(port=3306,…)
。因此,请尝试用函数的专有名称标记函数的参数。没问题,@icanc。你应该点击链接,并向上投票原始答案。
import MySQLdb
import sys

con = None
dbhost = "localhost"
port   = "3306"
dbuser = "root"
dbpass = "password"
dbname = "name"
socket = "/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock"

try:
    con = MySQLdb.connect(socket, dbhost, dbuser, dbpass, dbname);
    cur = con.cursor()
    cur.execute("SELECT VERSION()")

    data = cur.fetchone()
    print "Database version : %s " % data

except MySQLdb.Error, e:
    print "Error %d: %s" % (e.args[0],e.args[1])
    sys.exit(1)

finally:    
    if con:    
        con.close()
<brilliant code>
port = 3306
<brilliant code>