我有一个API端点,如下所示:http://127.0.0.1:5000/data?params= spanish, italian, english
这是我在myflask.py中的代码:
@app.route("/data", methods=["GET"])
def my_api():
query = "SELECT * from tablex WHERE "
params = request.args.get("params")
if params:
query += "col IN ('{}');".format(params)
我在输出中期望的是此查询:
"SELECT * from tablex WHERE col in ('spanish', 'italian', 'english');"
但是我得到的是
"SELECT * from tablex WHERE col in ('spanish, italian, english');"
我也尝试过这个:
query += "col IN ('{}');".format(','.join(params))
但是没用
最佳答案
也许这可以帮助您:
languages = ['spanish','italian','english']
string = ','.join(['%s'] * len(languages))
print("SELECT * from tablex WHERE col IN (%s)" % string,tuple(languages))
但我建议您将SELECT更改为PROCEDURE。
关于python - 如何将url参数作为字符串元组传递给mysql查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58793149/