Uma foi feita na versão 5.7-ish onde agora, por padrão, rejeitará as consultas nas quais você agregar usando uma função (
sum
, avg
, max
, etc.) no SELECT
cláusula e não colocar os campos não agregados no GROUP BY
cláusula. Esse comportamento é parte integrante de todos os outros RDBMS e o MySQL está finalmente pulando a bordo. Você tem duas opções:
- Você pode alterar as configurações do MySQL para o padrão do comportamento antigo para permitir consultas não tão boas como esta. As informações podem ser encontradas aqui
- Você pode corrigir sua consulta
A opção 2 seria algo como:
SELECT id, password, COUNT(id) AS count FROM users WHERE email = :email GROUP BY id, password LIMIT 1