aid*_*dan 1 perl prepared-statement dbi
我可以在准备好的语句中使用占位符来查询我的查询的order by子句吗?
我猜不是,因为我尝试了,它似乎没有用,但它也没有抛出任何错误,这看起来很奇怪.
有没有更好的方法来做到这一点,除了生成带有验证输入的SQL字符串?
不,您不能使用占位符作为列名.来自DBI手册:
对于大多数驱动程序,占位符不能用于语句的任何元素,这会阻止数据库服务器验证语句并为其创建查询执行计划.
但你仍然可以在perl中构造查询.在这种情况下,使用quote_identifier方法来引用列名.