Changement de serveur : PDOException

Vous avez un soucis de développement et ce n'est pas du ressort de notre support ? N'hésitez pas à soumettre vos petits soucis de développement et à vous entre aider par la même occasion.
Inconnu
Cet utilisateur a supprimé son compte et n’existe plus.
Messages : 6340
Inscription : 29 décembre 2010 à 18:15

Bonjour,

Voici l'erreur générée par mon application (sous CakePHP) :
2016-04-27 08:21:16 Error: [PDOException] SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #9 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'melies_db3.films_images.folder' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Request URL: /melies/app/webroot/index.php/displays/index/context=0001/page=1/nature=films/show=mosaic/select=inCol/sort=reference/order=desc

Je n'ai pas encore eu le temps d'investiguer cette erreur ; le changement de version MySQL est-il en cause ?

Merci par avance de votre réponse
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7937
Inscription : 2 avril 2010 à 20:14

Bonjour,

Alors oui, la nouvelle branche de MySQL 5.7 possède des gardes fous ainsi que des mécanismes de sécurités afin de ne pas exécuter des requêtes MySQL incorrectement écrites ou non optimisées.

J'ai remonté par exemple un bug d'incompatibilité entre la dernière version de PhpMyAdmin avec la branche 5.7 de MySQL et ils ont trouvés ceci :
This is due to the changes in MySQL 5.7.5+.

A query that has DISTINCT and ORDER BY is rejected as invalid if any ORDER BY expression does not satisfy at least one of these conditions:

The expression is equal to one in the select list
All columns referenced by the expression and belonging to the query's selected tables are elements of the select list
Cette condition semble correspondre à votre problème. Vérifiez dans un premier temps que le "GROUP BY" de votre requête ne soit pas superflue.

Voilà où ils en parlent dans la documentation de MySQL 5.7 :
http://dev.mysql.com/doc/refman/5.7/en/ ... l_group_by
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7937
Inscription : 2 avril 2010 à 20:14

Bonjour de nouveau,

J'ai retiré un nouveau garde fou (ONLY_FULL_GROUP_BY) de la configuration MySQL 2016 car votre problème se retrouve sur bon nombre de sites hébergés.

Normalement le problème devrai être résolu, merci de bien vouloir confirmer.
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Répondre