gpt4 book ai didi

Python 和 Mysql 引用和变量

转载 作者:行者123 更新时间:2023-11-29 00:28:00 24 4
gpt4 key购买 nike

我遇到了一个我不知道如何解决的问题。

我有这一行:

parse = cur.execute("SELECT * FROM testdb WHERE Match(name) AGAINST         ('"The.New.York.Times"' IN BOOLEAN MODE);")

如果我运行:

parse = cur.execute("SELECT * FROM testdb WHERE Match(name) AGAINST ('"The.New.York.Times"'     IN BOOLEAN MODE);")

在 mysql 控制台中,它可以工作。但我猜 python 不喜欢 '"The.New.York.Times"' 引号。我该如何解决?

另外,我如何在 python 中使该搜索字符串成为一个变量?类似的东西

parse = cur.execute("SELECT * FROM testdb WHERE Match(name) AGAINST ('"%s"' IN BOOLEAN MODE);, var1")

?

最佳答案

为了避免 sql 注入(inject)并获得适当的转义,您应该将查询变量作为第二个参数传递给 execute:

param = '"The.New.York.Times"'
cur.execute("SELECT * FROM predb WHERE Match(name) AGAINST (%s IN BOOLEAN MODE)", (param, ))

关于Python 和 Mysql 引用和变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18058140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com