结果返回 'NoneType' 在我建立数据库连接期间对象没有属性 'execute'
result returned 'NoneType' object has no attribute 'execute' during I make connection of db
我尝试使用 python 代码访问数据库连接,但是
python 数据库连接有问题。
这是我的代码,我正在使用 python 版本 2.7.10.
import pymysql
class SqlManager:
def __init__(self):
self.conn = None
self.cursor = None
self.host = "127.0.0.1"
self.port = 3306
self.user = "user"
self.passwd = "pw"
self.db_name = "db"
def connect(self):
self.conn = pymysql.connect(
host=self.host, port=self.port, user=self.user, passwd=self.passwd, db=self.db_name)
self.cursor = self.conn.cursor(pymysql.cursors.DictCursor)
self.conn.autocommit(True)
return True
def description(self):
cur = self.cursor.execute("SELECT * FROM user")
for row in cur:
print(row)
实际上我想我得到了 None 类型的属性错误,也许是在初始化部分用 None 声明的连接,但我在连接部分建立了连接,所以我认为它会起作用,但是我不是。
请建议我需要修复的地方或更好的使用方法。
谢谢你的帮助。
在你做的构造函数中,
self.cursor = None
然后在 description
方法中执行此操作而不初始化 属性,
cur = self.cursor.execute("SELECT * FROM user")
您可能想将其更改为,
self.conn.cursor.execute("SELECT * FROM user")
当然你需要在初始化这个class之后调用connect
方法。
我尝试使用 python 代码访问数据库连接,但是 python 数据库连接有问题。 这是我的代码,我正在使用 python 版本 2.7.10.
import pymysql
class SqlManager:
def __init__(self):
self.conn = None
self.cursor = None
self.host = "127.0.0.1"
self.port = 3306
self.user = "user"
self.passwd = "pw"
self.db_name = "db"
def connect(self):
self.conn = pymysql.connect(
host=self.host, port=self.port, user=self.user, passwd=self.passwd, db=self.db_name)
self.cursor = self.conn.cursor(pymysql.cursors.DictCursor)
self.conn.autocommit(True)
return True
def description(self):
cur = self.cursor.execute("SELECT * FROM user")
for row in cur:
print(row)
实际上我想我得到了 None 类型的属性错误,也许是在初始化部分用 None 声明的连接,但我在连接部分建立了连接,所以我认为它会起作用,但是我不是。
请建议我需要修复的地方或更好的使用方法。
谢谢你的帮助。
在你做的构造函数中,
self.cursor = None
然后在 description
方法中执行此操作而不初始化 属性,
cur = self.cursor.execute("SELECT * FROM user")
您可能想将其更改为,
self.conn.cursor.execute("SELECT * FROM user")
当然你需要在初始化这个class之后调用connect
方法。