0

我有以下 WHERE 条件

WHERE table.status IN ('Active') AND table.endDate < :endDate AND :user IN (table.userId, mach.techId, mach.respId) AND 1

我绑定参数并且它可以工作,但是如果条件是

WHERE :user IN (table.userId, mach.techId, mach.respId) AND table.status IN ('Active') AND table.endDate < :endDate AND 1

这不起作用。

订购条件有什么规定吗?此外,endDate条件总是被忽略。

旁注:如果您最后对此感到疑惑AND 1,那是因为我“构建”了我的查询条件。

4

2 回答 2

0

由于这个接受的响应,我发现了问题。 PDO - bindParam 不工作

我意识到我错过了我的问题的一个重要细节。我在 foreach 循环中使用了 bindParam()。我刚刚将 bindParam() 切换为 bindValue(),现在它可以工作了。

于 2013-11-14T22:40:52.887 回答
0

订购条件有什么规定吗?

对于命名的占位符 - 没有。

这行不通。

好吧,调试它。
从在异常模式下设置 PDO 开始

$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

并研究错误信息

于 2013-11-14T22:20:01.333 回答