【问题标题】:TypeError: not all arguments converted during string formatting while executing a raw query on the database with flaskTypeError:在使用烧瓶对数据库执行原始查询时,并非所有参数都在字符串格式化期间转换
【发布时间】:2020-05-02 22:42:24
【问题描述】:

我正在尝试使用烧瓶中的原始 sql 使用关键字搜索我的数据库,我收到以下错误 TypeError: not all arguments convert during string formatting.

这是我正在执行的代码

@app.route("/submit_search")
def submit_search():

    search_words = request.args['search_words']  

    db_search= db.execute("SELECT title FROM books WHERE  title  LIKE "%search_words%"").fetchall()

    print(db_search)

【问题讨论】:

  • . . . "%search_words%"" 正在尝试使用 % 运算符进行字符串格式化。你想在那里做什么?如果您想在字符串本身中使用引号,则需要使用反斜杠对其进行转义:"\%search_words\%".

标签: python sql flask formatting


【解决方案1】:

关键字“喜欢”不接受多个值。所以如果你得到一个单词列表,试着把它分解。

你可以尝试像这样的字符串格式化

sql =  """SELECT title FROM books WHERE  title  LIKE "%{}%""""".format(search_word)

db_search = db.execute(sql).fetchall()

【讨论】:

    猜你喜欢
    • 2021-08-19
    • 2012-06-22
    • 1970-01-01
    • 2022-06-12
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2020-08-23
    • 2015-10-28
    相关资源
    最近更新 更多