回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>以下是MySQL数据库中的数据:</p>
<p>python3表:用户信息</p>
<p><img src="https://i.stack.imgur.com/N2vXA.png" alt="enter image description here"/></p>
<p>但是当我使用<code>fetchall</code>获取表中的所有数据时,它总是返回none</strong></p>
<p><img src="https://i.stack.imgur.com/2v5TU.png" alt="enter image description here"/></p>
<p>我真的真的不知道怎么解决它,会有人遇到这个问题吗</p>
<p>以下是代码文件</p>
<p><strong>封装.py</strong></p>
<pre><code>import MySQLdb
class mysql_encapsulation(object):
def __init__(self,host,port,user,passwd,db,charset):
self.host = host
self.port = port
self.user = user
self.passwd = passwd
self.db = db
self.charset = charset
def open(self):
self.conn = MySQLdb.connect(host=self.host,port=self.port,user=self.user,passwd=self.passwd,db=self.db,charset=self.charset)
self.cursor = self.conn.cursor()
def close(self):
self.cursor.close()
self.conn.close()
def operate(self,sql,params):
try:
self.open()
self.cursor.execute(sql,params)
self.conn.commit()
print(' operate ok')
self.close()
except Exception,e:
print(e.message)
self.conn.rollback()
def get_result_set(self,sql,params=[]):
result=None
try:
self.open()
self.cursor.execute(sql,params)
result = self.cursor.fetchall()
self.close()
except Exception,e:
print('error!')
print(e.message)
return result
</code></pre>
<p><strong>使用.py</strong>(此文件中存在问题)</p>
<pre><code>#coding=utf-8
from encapsulation import *
mysql = mysql_encapsulation(port=3306,host='localhost',user='root',passwd='mysql',
db='python3',charset='utf8')
sql='select id,name from users_info where id=3'
result=mysql.get_result_set(sql)
print (result)
</code></pre>