【发布时间】:2019-02-16 23:54:38
【问题描述】:
我正在使用 mysql.connector 并运行:
import mysql.connector
from mysql.connector import errorcode
def get_db_connection(user, password, database):
try:
return mysql.connector.connect(user=user, password=password,
host='localhost',
database=database)
except mysql.connector.Error as err:
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print(err)
else:
cnx.close()
db = get_db_connection('user', 'password', 'database123')
cursor = db.cursor()
query = "SELECT * FROM companies;"
cursor.execute(query)
companies_results = cursor.fetchall()
我收到“mysql.connector.errors.InterfaceError: No result set to fetch”。错误但行数> 0(它是2)。我知道该表中只有 2 个结果。
系统详情: - 视窗 10 - Python 3.7.0 - 服务器类型:MariaDB - 服务器版本:10.3-MariaDB
【问题讨论】:
-
如果不进行行计数而只调用 fetchall 会发生什么?
-
不幸的是同样的事情
-
对不起,我能想到的只有库中的一些兼容性问题。假设您全部通过 pip 安装?也许尝试使用 conda?
标签: python mysql python-3.x mysql-python mysql-connector