首页 > 解决方案 > 在 pdo 中使用 get count(*) 函数的问题

问题描述

我在使用pdoget 时遇到问题COUNT(*)

    (...)

    public function getRowCount($sql, $bin = null)
    {
        $a = $this->conn->prepare($sql);
        if (!is_null($bin)) {
            foreach ($bin as $i => $val) {
                $a->bindParam(":$i", $val);
            }
        }
        $a->execute();
        return $a->fetchColumn();
    }

    (...)


如果我使用它,它对我有用:

    // $obj = new class()
    echo $obj->getRowCount("SELECT COUNT(*) FROM `table_name` WHERE `a`=:a", [
        'a' => 'ABC'
    ]);

    // 1 or 2 and ...


但它不适用于两个条件:

    // $obj = new class()
    echo $obj->getRowCount("SELECT COUNT(*) FROM `table_name` WHERE `a`=:a AND `b`=:b", [
        'a' => 'ABC',
        'b' => 'DEF'
    ]);

    // only 0

标签: phpmysqlpdo

解决方案


推荐阅读