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'];
我正在 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'];