首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复ValueError:需要超过一个值才能解包?

如何修复ValueError:需要超过一个值才能解包?
EN

Stack Overflow用户
提问于 2015-07-17 00:21:14
回答 2查看 341关注 0票数 1

在使用下面的查询时,我得到了以下错误,在执行cursor.fetchall时已经给出了变量,不知道为什么会出现这个错误,如何克服这个错误?

查询:-

代码语言:javascript
运行
复制
query = """SELECT metabuild,testbed FROM gerrits.pw WHERE warehouse ='%s'"""%(warehouse_name)
rows  = cursor.execute(query)
(metaBuild,testbed)= cursor.fetchall()  

错误:-

代码语言:javascript
运行
复制
    (metaBuild,testbed)= cursor.fetchall()
ValueError: need more than 1 value to unpack
EN

Stack Overflow用户

发布于 2015-07-17 00:27:09

或者,使用fetchone()

代码语言:javascript
运行
复制
metaBuild, testbed = cursor.fetchone()  

另外,不要通过字符串格式或插值来进行查询--这样您的代码就容易受到SQL注入攻击。相反,“参数化”查询:

代码语言:javascript
运行
复制
query = """
    SELECT 
        metabuild, testbed 
    FROM 
        gerrits.pw 
    WHERE
        warehouse = %s
"""
cursor.execute(query, (warehouse_name, ))
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31466641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档