SQLAlchemy占位符do n

2024-10-01 02:35:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我将SQL语句构造为字符串文本,并将其传递给SQLAlchemy execute方法。 为了避免SQL注入,我使用了占位符,但效果不佳。 当我用特殊的词,比如,“!,则变为错误。 p、 我用烧瓶炼金术

这是密码。在

sql = ""
sql += "SELECT count(*) "
sql += "FROM mytable, to_tsquery('english',%(kstr)s) query "
sql += "WHERE query @@ tsv "
res = db.engine.execute(sql, kstr = keyquery)

keyquery是搜索词,如果keyquery包含像“!,&' 它变成了错误。。。。在

这是一条错误消息,由于我的机器环境,它包含日语。在

^{pr2}$

现在,我把这些话都说出来了。在

keyquery = .replace("!'","").replace('$','')......

但是,通过这种方式,我无法搜索包含特殊单词的单词,比如“USA!” 我怎样才能解决这个问题?在


Tags: 方法字符串文本executesqlsqlalchemy错误语句