我很困惑 - 我已多次编写相同的代码并且从未遇到过这个问题。我对python的了解远远超出了自学的东西,为我的iOS应用程序构建了一个带有烧瓶框架的rest api。当我进行api调用以检索此特定路径的某些数据时,MySQL会一直返回错误'因为某些原因,我传递的变量作为可选类型传递(我认为? - b / coz print语句打印:Optional(1))
有人可以解释这里发生了什么吗?为什么这个相同的代码在我的其他路径中运行良好?我甚至试过把它作为一个字符串。在我的iOS应用程序中进行api调用的函数只接受一个字符串作为参数...运行带有硬编码值的MySQL查询总是有效。
***** thwart是我重命名的MySQLdb escape_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"
在正确路径下的main.py文件中我有这段代码:( print(data)总是打印'错误')
print("inside check answers path")
json = request.get_json()
gameId = str(json["gameId"])
data = checkAnswers(gameId)
print("answer data ----->")
print(data)
答案 0 :(得分:0)
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()
答案 1 :(得分:0)
这最终成为一个xcode错误[Queue所有iOS / xcode侮辱]。即使我在xcode中正确地将变量转换为字符串,它也是作为可选项发送的...我所做的只是清理项目代码并重新启动xcode并且它按预期工作..... 3小时且头疼后来。什么修复....
感谢所有为此做出贡献的人,因为这基本上是一个无法回答的问题。