Python 如何解决;属性错误:';功能';对象没有属性';光标'&引用;当尝试连接到数据库时?
我正在尝试使用MySQLdb库连接到MySQL数据库。我收到一条错误消息,该函数没有游标属性 我试着一行一行地运行连接代码,但没有将其包装到解释器中的函数中,它可以正常工作Python 如何解决;属性错误:';功能';对象没有属性';光标'&引用;当尝试连接到数据库时?,python,Python,我正在尝试使用MySQLdb库连接到MySQL数据库。我收到一条错误消息,该函数没有游标属性 我试着一行一行地运行连接代码,但没有将其包装到解释器中的函数中,它可以正常工作 导入MySQLdb 将databaseconfig导入为dcfg #databaseconfig.py包含数据库凭据 #它是一个配置文件,没有代码 def mysqlconnect(): #尝试连接 db_连接=无 尝试: db_connection=MySQLdb.connect ( dcfg.mysql[“主机”], d
导入MySQLdb
将databaseconfig导入为dcfg
#databaseconfig.py包含数据库凭据
#它是一个配置文件,没有代码
def mysqlconnect():
#尝试连接
db_连接=无
尝试:
db_connection=MySQLdb.connect
(
dcfg.mysql[“主机”],
dcfg.mysql[“用户”],
dcfg.mysql[“密码”],
dcfg.mysql[“db”],
dcfg.mysql[“端口”]
)
#如果连接不成功
除:
打印(“无法连接到数据库”)
返回0
#如果连接成功
打印(“连接”)
#为查询执行创建游标对象
cursor=db_connection.cursor()
#连接到数据库的函数调用
mysqlconnect()
预期的输出是生成一个游标。
实际产出为:
Connected
Traceback (most recent call last):
File "models.py", line 43, in <module>
mysqlconnect()
File "models.py", line 26, in mysqlconnect
cursor = db_connection.cursor()
AttributeError: 'function' object has no attribute 'cursor'
已连接
回溯(最近一次呼叫最后一次):
文件“models.py”,第43行,在
mysqlconnect()
mysqlconnect中第26行的文件“models.py”
cursor=db_connection.cursor()
AttributeError:“函数”对象没有属性“游标”
这是因为您的语法。您的mysqlconnect
函数应该如下所示:
def mysqlconnect():
# Trying to connect
db_connection = None
try:
db_connection = MySQLdb.connect(
dcfg.mysql["host"],
dcfg.mysql["user"],
dcfg.mysql["password"],
dcfg.mysql["db"],
dcfg.mysql["port"]
)
# If connection is not successful
except:
print("Can't connect to database")
return 0
# If Connection Is Successful
print("Connected")
# Making Cursor Object For Query Execution
cursor = db_connection.cursor()
db_connection=MySQLdb.connect
是一个完整的语句,它将函数本身分配给调用该函数的结果。您需要将参数列表的左括号移到同一行,以便Python将扩展语句,直到匹配的右括号为止。(实际上,参数列表被解析为元组结构,然后被丢弃。)