python - 如何将 url 参数作为字符串元组传递给 mysql 查询

标签 python mysql flask

我有一个 API 端点,如下所示:

http://127.0.0.1:5000/data?params= 西类牙语、意大利语、英语

这是我在 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 ('西类牙语', '意大利语', '英语');”

但是我得到的是

“SELECT * from tablex WHERE col in ('西类牙语、意大利语、英语');”

我也尝试过这个:

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))

但我建议您更改 PROCEDURE 的 SELECT。

关于python - 如何将 url 参数作为字符串元组传递给 mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58793149/

相关文章:

mysql - 我们可以在 1 个查询 postgresql 中更新两个表吗

php - 统计同一个表中的后代数量

python - Flask:获取模块中每个 View 类的 URL

python - SQL炼金术 : How to make an integer column auto_increment (and unique) without making it a primary key?

python - HTTP 错误 422 : Unprocessable Entity - when calling API from Python (but curl works)

python - 使用 Python 后台脚本捕获屏幕截图并保存到文档

python - LIST和TUPLE赋值操作

python - 当 pandas 满足某些条件时如何删除整个组

javascript - 如何通过 Rails 5 中的链接选择单选按钮?

python - 如何在一个 python 程序下的两个端口上的两个线程/进程中运行两个 flask 服务器?