为什么MariaDB会通过Python不返回任何东西给一个其他方式都可以正常工作的查询?

为什么MariaDB会通过Python不返回任何东西给一个其他方式都可以正常工作的查询?,python,mysql,raspberry-pi,mariadb,Python,Mysql,Raspberry Pi,Mariadb,我有一个正常工作的MariaDB服务器。当使用自己的客户端软件在本地登录时,或通过Navicat等远程计算机连接到时,它可以正常工作。以这些方式连接时,它会按预期响应所有SELECT和INSERT命令 然而,我无法让它响应Python,它甚至不返回错误 以下是测试代码: #/usr/bin/python 将mysql.connector作为mariadb导入 #进口马里亚布 类dbQuery: 定义初始化(自): 尝试: self.mariadb_connection=mariadb.conne

我有一个正常工作的MariaDB服务器。当使用自己的客户端软件在本地登录时,或通过Navicat等远程计算机连接到时,它可以正常工作。以这些方式连接时,它会按预期响应所有
SELECT
INSERT
命令

然而,我无法让它响应Python,它甚至不返回错误

以下是测试代码:

#/usr/bin/python
将mysql.connector作为mariadb导入
#进口马里亚布
类dbQuery:
定义初始化(自):
尝试:
self.mariadb_connection=mariadb.connect(主机='127.0.0.1',端口=8457,用户='root',密码='XXXXX',数据库='empowerment')
self.cursor=self.mariabu\u connection.cursor()
除:
打印(“错误”)
def查询(自我):
query=“选择1+1;”
尝试:
ans=self.cursor.execute(查询)
除:
打印(“错误”)
打印(“ans1:”,ans)
返回ans
定义(自我):
self.mariadu连接.close()
thisQuery=dbQuery()
ans=thisQuery.query()
打印(ans2:,ans)
ans1和ans2都使用mysql.connector和(beta)mariadb连接器打印
None
。任何异常都不会被抛出。如果我打印连接变量或游标变量,它们似乎在代码中的适当位置具有有效内容。只有
execute
的输出似乎是错误的。这是关于覆盆子皮OS的,如果有关系的话


我可能缺少什么?

mysql.connector
基于Python数据库API规范v2.0()
execute
方法返回
None

要获得查询结果,需要使用类似于
fetchall

您需要遍历
光标
对象本身。
因此,您的
查询
方法应该如下所示:

def查询(self):
query=“选择1+1;”
尝试:
self.cursor.execute(查询)
ans=self.cursor.fetchall()
除:
打印(“错误”)
打印(“ans1:”,ans)
返回ans