类型错误:需要一个整数

0 投票
1 回答
14649 浏览
提问于 2025-04-17 17:37

我已经搜索过了,之前关于这个错误的评论对我没有帮助。

这一行:

con = MySQLdb.connect(host = '127.0.0.1', user = 'root', passwd = '', db='vendors', port='3306')

抛出了:

Traceback (most recent call last):
  File "mysqlpython.py", line 12, in <module>
    con = MySQLdb.connect(host = '127.0.0.1', user = 'root', passwd = '', db='vendors', port='3306')
  File "/apollo/env/AWSSDKMetrics/lib/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "/apollo/env/AWSSDKMetrics/lib/python2.7/site-packages/MySQLdb/connections.py", line 188, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
TypeError: an integer is required

这个整数指的是什么?它是指哪个字段?请记住,我不是一个Python程序员或开发者。

1 个回答

4

你需要把端口号写成数字,而不是字符串:

con = MySQLdb.connect(
    host='127.0.0.1',
    user='root', passwd='',
    db='vendors', 
    port=3306)

我用了多行来让上面的例子更容易看懂;错误提示说明port的值必须是一个整数。

撰写回答