【发布时间】:2016-02-24 09:39:33
【问题描述】:
我刚刚遇到了一个有趣的问题。我需要在参数数组中指定一个变量,但为 SQL 查询中的每一次出现绑定它,我使用此属性实现了这一点:$conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE);。但是当我使用它时,另一个带有 LIMIT 的查询不起作用,因为我需要指定 $conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE); 才能使其正常工作(因此 PDO 将其作为 INT 处理,而不是 STRING)。我还尝试将 bindValue 函数与 PDO::PARAM_INT 结合使用,但它仍然不能将 LIMIT 值作为 INT 处理。
【问题讨论】:
-
请展示您想要实现的目标的示例。绝对不需要在不同的仿真设置之间切换,仿真应该始终关闭,除非绝对不可避免。这只是意味着您需要以一种无需仿真/任何一种形式都可以工作的方式来制定您的查询。你只是遇到了一个边缘情况,而没有看到究竟是什么,很难帮助你。