DAL executesql参数化查询
DAL executesql parameterized queries
我一直在找,但到处都找不到我要找的信息。
如何在 web2py 中使用 DAL 通过自定义 sql 使用参数化查询?例如,我有以下查询:
sql = "SELECT * FROM Users WHERE Username = %s"
我这样称呼它
user = db.executesql(sql, username, as_dict=True)
我认为这会使用参数进行查询,但如果我传递“' or 1=1; --;”作为用户名,代码崩溃说它无效 SQL.
使用 DAL 对自定义 SQL 使用参数化查询的正确方法是什么,因为这显然不是我想的那样转义?
谢谢,
特拉维斯
使用placeholders
参数:
user = db.executesql(sql, placeholders=(username,), as_dict=True)
我一直在找,但到处都找不到我要找的信息。
如何在 web2py 中使用 DAL 通过自定义 sql 使用参数化查询?例如,我有以下查询:
sql = "SELECT * FROM Users WHERE Username = %s"
我这样称呼它
user = db.executesql(sql, username, as_dict=True)
我认为这会使用参数进行查询,但如果我传递“' or 1=1; --;”作为用户名,代码崩溃说它无效 SQL.
使用 DAL 对自定义 SQL 使用参数化查询的正确方法是什么,因为这显然不是我想的那样转义?
谢谢,
特拉维斯
使用placeholders
参数:
user = db.executesql(sql, placeholders=(username,), as_dict=True)