PDO 参数化查询 - 重用命名占位符?

2022-08-30 17:10:24

从本质上讲,我有一个值,我必须在SQL查询中调用几次。因此,是否可以在语句中重用相同的命名占位符,例如,然后简单地绑定Value(“:P aram”),并且两个:P arams的值都存在?SELECT :Param FROM Table WHERE Column = :Param


答案 1

PDO::p repare指出“您不能在预准备语句中两次使用同名的命名参数标记”,所以我想这是一个否定。


答案 2

您可以,如果你设置 .PDO::ATTR_EMULATE_PREPARES = true

例如.$connection->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);

如果您使用的是 Laravel,则可以在 的数组中设置此项。例如:optionsconfig/database.phpPDO::ATTR_EMULATE_PREPARES => true


推荐