「已注销」 2022-06-01 11:08 采纳率: 57.1%
浏览 19
已结题

pymysql提取数据报错

问题遇到的现象和发生背景

问题

在使用Python操作MySQL进行查询时,使用fetchall提取数据时报错了,这个是什么问题呢,我sql指定的是自由输入,可以进行这样的操作吗

问题相关代码,请勿粘贴截图
# -- encoding:utf-8 --
import pymysql
import pymssql


def SQLServer():
    pass

def MySQL():
    host_input = input('请输入主机名')
    user_input = input('请输入用户名')
    pswd_input = input('请输入密码')
    dbs_input = input('选择连接的数据库')
    conn = pymysql.connect(host=host_input, user=user_input, password=pswd_input, database=dbs_input)
    cur = conn.cursor()
    while True:
        try:
            sql = input('请输入需要执行的操作')
            return_sql = cur.execute(sql)
            return_sql.fetchall()
            print('影响的行数', return_sql)
        except Exception as e:
            print(e)


if __name__ == '__main__':
    choice = input('请选择连接的数据库类型:1.SQLserver  2.MySQL')

    if choice == '2':
        MySQL()
    elif choice == '1':
        SQLServer()
    else:
        print('请输入正确的方法')

运行结果及报错内容

img

有问题的代码

 while True:
        try:
            sql = input('请输入需要执行的操作')
            return_sql = cur.execute(sql)
            return_sql.fetchall()
            print('影响的行数', return_sql)
        except Exception as e:
            print(e)
我想要达到的结果

能使用正常的fetchall()遍历执行后的数据

  • 写回答

1条回答 默认 最新

  • Hello World, 2022-06-01 11:25
    关注

    cur.execute返回的是整数,影响的行数,fetchall()是cur的,不是整数的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月9日
  • 已采纳回答 6月1日
  • 创建了问题 6月1日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效