1

我可以在查询的 order by 子句的预准备语句中使用占位符吗?

我猜不是,因为我试过了,它似乎没有用,但它也没有抛出任何错误,这看起来很奇怪。

除了使用经过验证的输入生成 SQL 字符串之外,还有更好的方法吗?

4

1 回答 1

8

不,您不能使用占位符作为列名。来自DBI 手册

对于大多数驱动程序,占位符不能用于会阻止数据库服务器验证语句并为其创建查询执行计划的语句的任何元素。

但是您仍然可以在 perl 中构造查询。在这种情况下,使用quote_identifier方法来引用列名。

于 2009-12-07T20:11:51.910 回答