W wersji 5.7-ish dokonano zmiany gdzie teraz domyślnie odrzuca zapytania, w których agregujesz za pomocą funkcji (sum , avg , max itp.) w SELECT klauzuli i nie umieszczaj pól niezagregowanych w GROUP BY klauzula. To zachowanie jest nieodłączną częścią każdego innego RDBMS, a MySQL w końcu wskakuje na pokład.
Masz dwie opcje:
- Możesz zmienić domyślne ustawienia MySQL na stare zachowanie, aby zezwolić na niezbyt świetne zapytania, takie jak to. Informacje można znaleźć tutaj
- Możesz poprawić swoje zapytanie
Opcja 2 wyglądałaby mniej więcej tak:
SELECT id, password, COUNT(id) AS count FROM users WHERE email = :email GROUP BY id, password LIMIT 1