9
我试图使用Python的(3.4)的MySQL模块用下面的代码在本地的MySQL数据库上查询:为什么MySQL会执行返回无?
class databases():
def externaldatabase(self):
try:
c = mysql.connector.connect(host="127.0.0.1", user="user",
password="password", database="database")
if c.is_connected():
c.autocommit = True
return(c)
except:
return(None)
d = databases().externaldatabase()
c = d.cursor()
r = c.execute('''select * from tbl_wiki''')
print(r)
> Returns: None
据我所知,连接成功后,该数据库是由若干行但查询总是返回无类型。
MySQL执行函数的哪些实例返回无?
'c.execute()'不会返回任何东西,除非你使用'multi = True'选项。然后它返回一个迭代器,让您逐步浏览多个查询中的每个查询的结果。 – Barmar
通常,您可以调用游标上的方法来将结果从查询中取出,例如'c.fetchone()'得到一行,'c.fetchall()'得到所有的结果。 – Barmar
请参阅http://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor.html – Barmar