无论结果如何,SQL 查询始终返回 1

时间:2021-07-28 03:01:48

标签: php mysql phpmyadmin

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

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

我在 phpmyadmin 中运行了该函数,它返回了正确的计数,但是在 PHP 中它失败了。
笔记: 我有另一个几乎相同的功能,它运行正常:

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

1 个答案:

答案 0 :(得分:1)

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

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