如何在绑定后将MySql语句检索为字符串?

时间:2016-02-10 12:44:14

标签: php mysql sql parameterbinding

我正在尝试调试我自己没有写过的SQL语句:

    $stmt = $dbh->prepare("
        SELECT 
            Customer.Primary_Email AS EMAIL,
            ...
        FROM Order_SG
            INNER JOIN Customer USING (Customer__)
            INNER JOIN Order_SG_Detail USING (Order_SG__)
            INNER JOIN Product_Ref USING (Product_Ref__)
            INNER JOIN Reduction USING (Reduction__)
        WHERE Order_SG.Server__ IN (:servers)
            ...
            AND `DATE` BETWEEN :startDate AND :endDate
            LIMIT :limit
            OFFSET :offset");

    $stmt->bindValue(':servers', implode(',', $servers));
    $stmt->bindValue(':startDate', $startDate);
    $stmt->bindValue(':endDate', $endDate);
    $stmt->bindValue(':limit', $limit, \PDO::PARAM_INT);
    $stmt->bindValue(':offset', $offset, \PDO::PARAM_INT);

如何在绑定后检索语句?我能echo的字符串很好。

1 个答案:

答案 0 :(得分:1)

$array["a"]++语句不起作用。一种方法是将列表直接包含在SQL中(令人讨厌,但这就是方法)。另一种方法是使用in

find_in_set()

但是,索引不能用于此功能。