我正在尝试使用PyMySQL测试与MySQL数据库的数据库连接。我一直试图把它放到一个类中,但遇到问题,脚本现在什么也没有返回。这是我第一次使用'self'变量。
我有一个名为'items'的数据库表,其中包含以下属性:
我的原始代码编写如下:
import pymysql.cursors
#Connect to the database
connection = pymysql.connect(host='localhost',
user='root',
password='',
db='testDB',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
try:
with connection.cursor() as cursor:
#Read a single record
sql = "SELECT * FROM items"
cursor.execute(sql)
result = cursor.fetchone()
print(result)
finally:
connection.close()
此脚本运行正常并返回以下结果: {'id':2}
我一直试图把这段代码放到一个类中,我现在正在使用'self',但遇到了脚本什么都不返回的问题。
import pymysql.cursors
class mySQLTest(object):
def __init__(self):
self.conn = pymysql.connect(host='localhost',
user='root',
password='',
db='testDB',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
self.cursor = self.conn.cursor()
def test(self):
try:
with self.cursor:
sql = "SELECT * FROM items"
self.cursor.execute(sql)
result = self.cursor.fetchall()
print(result)
finally:
self.conn.close
当我运行此脚本时,没有返回任何内容(我希望返回值2,3,4,5)。它简单地说:'过程以退出代码0完成。
我认为在定义函数时我做错了什么?感谢任何帮助/指导。