#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. Если вы получаете результаты второго запроса, это означает, что вы не хэшируете пароли, как следовало бы.
2. Вы уверены
3. $электронная почта настроена правильно, вот полный код
4. функция GetEmailCount($conn, $email) { $query = Запрос($conn, «ВЫБЕРИТЕ КОЛИЧЕСТВО(*) как общее
users
, ОТКУДА5. На что ты смотришь
$row['total']
?
Ответ №1:
Вам нужно использовать fetch_assoc()
, нет fetch()
, и извлечь total
столбец из результата.
$query = Query($conn, "SELECT COUNT(*) FROM `users` AS total WHERE `email` = '$email");
return $query->fetch_assoc()['total'];