为什么这个类型的变量是可选的。。。?

2024-07-05 14:36:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我很困惑-我已经写了很多次相同的代码,从来没有这个问题。我对python的了解远不止自学为iOS应用程序构建带有flask框架的restapi。当我调用api来检索这个特定路径的一些数据时,MySQL不断返回error,因为出于某种原因,我传递的变量是作为可选类型传递的(我想?-b/z打印语句打印:可选(1))

有人能解释一下这是怎么回事吗?为什么同样的代码在我的其他路径上运行良好?我甚至试过把它当作一根弦来弹。在我的iOS应用程序中进行api调用的函数也只接受一个字符串作为参数…运行带有硬编码值的MySQL查询总是有效的。你知道吗

******thwart是我重命名的MySQLdb escape\u string*****

查询功能:

def checkAnswers(gameId):

    print("inside check answers function")
    print(gameId)

    id = str(gameId)

    c, conn = connection()

    data = c.execute("SELECT answer_one, answer_two FROM games WHERE game_id='%s'" % (thwart(id)))

    if data:
        return c.fetchall()
    return "error"

内部主.py文件的正确路径下我有这个代码片段:(print(data)always prints'error')

print("inside check answers path")
json = request.get_json()

gameId = str(json["gameId"])

data = checkAnswers(gameId)

print("answer data ----->")
print(data)

Tags: 代码answer路径apiidjson应用程序data
2条回答

execute没有返回值,检查它,没有任何意义,只检查fetchall的空结果:

def checkAnswers(gameId):
    print("inside check answers function")
    print(gameId)
    id = str(gameId)
    c, conn = connection()
    c.execute("SELECT answer_one, answer_two FROM games WHERE game_id=%s", (thwart(id),))
    return c.fetchall()

这最终成为一个xcode bug[将所有iOS/xcode侮辱排队]。尽管我在xcode中将变量正确地转换为字符串,但它是作为可选的发送的…我所做的只是清理项目代码并重新启动xcode,它按预期工作。。。。。三个小时后头痛。真是个好办法。。。。你知道吗

感谢所有对此做出贡献的人,因为这基本上是一个无法回答的问题。你知道吗

相关问题 更多 >