'Db' object has no attribute 'cur'
时间: 2023-10-30 12:03:44 浏览: 31
根据提供的引用内容,报错"'Db' object has no attribute 'cur'"是由于在MysqlDb类的构造函数中,初始化函数名拼写错误。正确的拼写应该是`__init__`而不是`__int__`。请将`__int__`改为`__init__`后再次运行代码即可解决该问题。
另外,引用中提到了使用pymysql访问MySQL数据库的方法。在这个例子中,pymysql.connect函数用于创建与MySQL数据库的连接。在这个函数中,需要传递host、port、user、password、db等参数。请确保这些参数的值正确并与你的数据库配置相匹配。如果这些参数正确并且连接仍然失败,请检查你的网络连接和数据库服务器的状态。
综上所述,要解决"'Db' object has no attribute 'cur'"的问题,请将`__int__`修改为`__init__`并确保参数值正确。如果问题仍然存在,请检查网络连接和数据库服务器状态。
相关问题
pymysqlAttributeError: 'Db' object has no attribute 'cur'
根据引用中的代码和报错信息,可以看出问题出现在`MysqlDb`类的初始化方法上。在代码中,`__init__`方法被错误地写成了`__int__`方法,导致在创建`MysqlDb`对象时没有正确初始化`cur`属性。这导致在执行`query`方法时出现了`'MysqlDb' object has no attribute 'cur'`的错误。
解决这个问题的方法是将`__int__`方法改为`__init__`方法。
总结起来,这个问题的本质是因为初始化方法的名称拼写错误导致属性没有被正确初始化。在调试代码时,我们需要仔细检查代码中的拼写错误和细节,而不仅仅依赖于错误提示信息。
除了这个问题,引用中提到了通过正确的连接数据库的方式解决了另一个问题。而引用中提到了使用pymysql库访问MySQL数据库的一些注意事项。
综上所述,解决`pymysqlAttributeError: 'Db' object has no attribute 'cur'`的问题的方法主要有两个:
1. 修正`MysqlDb`类的初始化方法的拼写错误,将`__int__`改为`__init__`。
2. 确保使用正确的连接数据库的方式来连接MySQL数据库,并遵循pymysql库的使用规范。
希望以上解答对您有帮助。如果还有其他问题,请随时提问。
AttributeError: 'Db' object has no attribute 'cur'
在你的代码中,错误出现在MysqlDb类的定义中。根据引用提供的信息,错误的原因是'MysqlDb'对象没有名为'cur'的属性。要解决这个错误,你需要在MysqlDb类的构造函数中将self.cur初始化为一个游标对象。请确保你在构造函数中添加以下代码:
self.cur = self.conn.cursor(cursor=pymysql.cursors.DictCursor)
这将创建一个游标对象,使你能够执行SQL查询。添加这行代码后,重新运行程序,应该就不会再出现'AttributeError: 'Db' object has no attribute 'cur''的错误了。