Как передать параметры URL в запрос MySQL в качестве кортежа строк - PullRequest
0 голосов
/ 11 ноября 2019

У меня есть конечная точка 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)) но не сработало

1 Ответ

1 голос
/ 11 ноября 2019

Может быть, это может вам помочь:

languages  = ['spanish','italian','english']
string = ','.join(['%s'] * len(languages))
print("SELECT * from tablex WHERE col  IN (%s)" % string,tuple(languages))

Но я бы порекомендовал вам изменить SELECT для ПРОЦЕДУРЫ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...