Perl:为ORDER BY子句使用DBI占位符

时间:2009-12-07 19:59:23

标签: perl prepared-statement dbi

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

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

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

1 个答案:

答案 0 :(得分:8)

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

  

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

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