我尝试使用 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)
实际上,我想我得到了Nonetype的属性错误,可能是在init部分中用None声明了连接,但是我在connect部分中进行了连接,所以我认为它可以工作,但我没有。
请建议我需要修复什么或更好的使用方法。
谢谢你帮助我。
最佳答案
在您所做的构造函数中,
self.cursor = None
然后您可以在 description
方法中执行此操作,而无需初始化属性,
cur = self.cursor.execute("SELECT * FROM user")
您可能想将其更改为,
self.conn.cursor.execute("SELECT * FROM user")
当然,您需要在初始化此类后调用connect
方法。
关于python - 在连接数据库期间返回的结果 'NoneType' 对象没有属性 'execute',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36104412/