DAL执行参数化查询

时间:2017-07-04 18:44:53

标签: python web2py

我一直在寻找,但我找不到我在任何地方寻找的信息。

如何在web2py中使用DAL在自定义sql中使用参数化查询?例如,我有以下查询:

(^\w|\w$|\W\w|\w\W)

我称之为

sql = "SELECT * FROM Users WHERE Username = %s"

我认为会使用查询参数,但如果我传递“'或1 = 1; - ;”作为用户名,代码崩溃,说它是无效的SQL。

使用DAL对自定义SQL使用参数化查询的正确方法是什么,因为这显然没有像我想象的那样逃避?

谢谢,

特拉维斯

1 个答案:

答案 0 :(得分:1)

使用placeholders参数:

user = db.executesql(sql, placeholders=(username,), as_dict=True)