SQL 无论结果如何,查询总是返回 1

SQL Query always returning 1 regardless of result

我正在 PHP 中创建一个函数来计算 SQL table 中相同电子邮件的数量,但是无论结果如何,该函数都会返回 1。这是我的 PHP 代码:

$query = Query($conn, "SELECT COUNT(*) FROM `users` AS total WHERE `email` = '$email");
return $query->fetch();

我在 phpmyadmin 中有 运行 函数,它 returns 正确计数,但是在 PHP 中它失败了。
笔记: 我有另一个几乎相同的功能,它工作得很好:

$query = Query($conn, "SELECT COUNT(*) as total
    FROM `passwords` WHERE `password` = '$pwd'");
return $query->fetch();

您需要使用 fetch_assoc(),而不是 fetch(),并从结果中提取 total 列。

$query = Query($conn, "SELECT COUNT(*) FROM `users` AS total WHERE `email` = '$email");
return $query->fetch_assoc()['total'];