我有以下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
,那是因为我“构建”了我的查询条件。
答案 0 :(得分:0)
有关订购条件的规定吗?
对于命名占位符 - 否。
这不起作用。
好吧,调试它。
从在异常模式下设置PDO开始
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
并研究错误消息
答案 1 :(得分:0)
由于这个被接受的回应,我想出了问题。 PDO - bindParam not working
我意识到我错过了一个关于我问题的重要细节。我在foreach循环中使用了bindParam()。我刚刚将bindParam()切换到bindValue(),现在它可以正常工作。