PHP:无法返回sql计数值

时间:2017-09-11 12:42:23

标签: php mysql

我是PHP编程的新手。这是我的代码:

class AdminActions extends DBManager{
    public function loginUser($username, $password){
        $dbh = $this->getConnection();
        $smt = $dbh->prepare("SELECT count(1) FROM admin WHERE admin_name=:username AND admin_password=:password"); 
        $smt->bindValue(':username', $username);
        $smt->bindValue(':password', $password);
        $count = $smt->fetchColumn();
        return $count;
    }
}

我无法返回$ count的值。没有错误显示(无输出)。我想得到包含函数fetchColumn()的答案。提前谢谢。

2 个答案:

答案 0 :(得分:2)

您忘记执行请求并选择您想要计算的列。试试:

class AdminActions extends DBManager{
public function loginUser($username, $password){
    $dbh = $this->getConnection();
    $smt = $dbh->prepare("SELECT count(id) FROM admin WHERE admin_name=:username AND admin_password=:password"); 
    $smt->bindValue(':username', $username);
    $smt->bindValue(':password', $password);
    $smt->execute();
    return $smt->fetchColumn();
}

来自:Row count with PDO

答案 1 :(得分:0)

根据文档,您必须执行pdo语句。你必须执行你的查询。

$smt->execute();