我有两个问题,第一个问题是我需要在其中使用 AND/OR 进行动态查询。我完全理解 AND 部分(我已经做了一堆)但是,OR 部分让我很困惑,因为查看以下 sql :
$sql = SELECT * FROM table WHERE 1
然后,如果满足条件,则添加 OR 语句:
if(isset($_POST['OR'])){
$sql. = " OR peaches = :good";
}
那么查询将返回 WHERE 1 OR peaches = :good
我再次理解 AND 部分,但我不明白如何设置 OR 部分。
我面临的第二个问题是来自同一脚本的代码片段(请阅读代码注释):
$sql .= " GROUP BY anum"; // I always group BY anum no matter what
if ($count !== "") { // if COUNT is not ""
$sql .= " HAVING COUNT(session.anum) :count"; // Then I want the user to be able to choose the operator (> < => =< =) and the dynamic number for it to use
$placeholder[':count'] = $count; // Then add the key :count to an array with the value of $count
}
$dynamic = $this->db->conn_id->prepare($sql);
$dynamic->execute($placeholder);
因此,正如您所注意到的,我给命名参数(:count)赋予了$count 的值,但这“不起作用”。
有没有可能做我想做的事情($sql .= " HAVING COUNT(session.anum) :count";
)
如果没有,那么我可以这样做: $sql .= " HAVING COUNT(session.anum) $count";
但这会破坏 PDO 的目的。
任何帮助都会很棒