AttributeError: 'Mysql' object has no attribute 'conn'
时间: 2023-11-01 12:00:42 浏览: 227
AttributeError: 'Mysql' object has no attribute 'conn' 错误是由于对象Mysql缺少属性'conn'引起的。在你的代码中,你的MysqlDb类的构造函数应该是`__init__`而不是`__int__`。请在构造函数中将`__int__`更正为`__init__`,这样你就可以正确地初始化`self.conn`和`self.cur`属性了。
```python
import pymysql
class MysqlDb:
def __init__(self):
self.conn = pymysql.connect(host="192.168.253.128", user="root", password="123456", database="testcase")
self.cur = self.conn.cursor(cursor=pymysql.cursors.DictCursor)
def query(self, sql):
self.cur.execute(sql)
data = self.cur.fetchall()
return data
if __name__ == '__main__':
mydb = MysqlDb()
r = mydb.query("select * from `case`")
print(r)
```
相关问题
AttributeError: 'Mysql' object has no attribute 'cursor'
根据错误提示,'Mysql'对象没有'cursor'属性,这意味着你没有正确地创建MySQL连接对象。你需要使用Python的MySQLdb模块来创建MySQL连接对象,并确保正确地设置了主机名,用户名,密码和数据库名称等连接参数。以下是一个示例代码,演示如何创建MySQL连接对象和游标对象:
```python
import MySQLdb
# 创建MySQL连接对象
conn = MySQLdb.connect(host='localhost', user='root', passwd='password', db='mydatabase')
# 创建游标对象
cursor = conn.cursor()
# 执行SQL查询
cursor.execute('SELECT * FROM mytable')
# 获取查询结果
result = cursor.fetchall()
# 关闭游标和连接
cursor.close()
conn.close()
```
AttributeError: 'MySQLConnector' object has no attribute 'cursor'
这个错误是由于你正在尝试在一个MySQL连接对象上调用`cursor()`方法,但是这个对象可能没有这个方法。请确保你使用的是正确的库和正确的方法来建立连接并执行查询。
在大部分情况下,使用`MySQLConnector`库来建立连接和执行查询操作的正确方式是:
1. 导入`mysql.connector`库:
```python
import mysql.connector
```
2. 建立连接:
```python
conn = mysql.connector.connect(
host="your_host",
user="your_user",
password="your_password",
database="your_database"
)
```
确保你填入正确的主机名(host)、用户名(user)、密码(password)和数据库(database)。
3. 创建游标对象并执行查询:
```python
cursor = conn.cursor()
cursor.execute("SELECT * FROM your_table")
```
现在你可以通过`cursor`对象执行各种数据库操作了。记得在使用完毕后关闭游标和连接:
```python
cursor.close()
conn.close()
```
如果你仍然遇到问题,请提供更多的代码和错误信息,以便我能够更好地帮助你解决问题。
阅读全文