Php 为什么fetchColumn()总是返回1?

Php 为什么fetchColumn()总是返回1?,php,sql,pdo,count,Php,Sql,Pdo,Count,我不明白为什么这个总是返回1,即使我知道它应该是0 function check_user_data($username, $password) { global $db; $query = "SELECT COUNT(*) FROM users WHERE username='$username' AND password='$password'"; $results = $db->query($query); $results = $results-&

我不明白为什么这个总是返回1,即使我知道它应该是0

function check_user_data($username, $password) { 
    global $db;
    $query = "SELECT COUNT(*) FROM users WHERE username='$username' AND password='$password'";
    $results = $db->query($query);
    $results = $results->fetchColumn();
    echo count($results);
为什么fetchColumn()总是返回1

没有


检查您的数据和代码。

因为您在查询中选择了一个返回单个数字的计数,然后使用
计数($results)对该单个数字进行计数

您应该使用占位符,而不是在查询中插入变量,因为您在查询中选择了一个返回单个数字的计数,然后使用count($results)@JaakKütt将其作为答案进行计数。因为没有人愿意删除这样的问题。啊哈,谢谢你,先生,这很有道理now@user2554352如果你找到了解决问题的答案,试着将它们标记为已接受:D