Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics

Messages: 2

Enregistré le: 9 Juin 2017

Message le Ven Juin 09, 2017 11:27

Bonjour,

J'aurai besoin de votre aide, je suis un peu désespérée. Je bosse sur un intranet depuis longtemps. Je suis obligée de faire avec nouvelle version de mysql la 5.7, avant j’étais en 5.5. Dans la 5.5 je ne m’occupais pas de savoir si un champ était en NULL ou en NOT NULL (tous mes champs étaient en NOT NULL), ce qui était pratique car un champ en INT si lors d’un INSERT aucune valeur n’était rentrée, pour lui alors le champ ce m’était à 0 automatiquement, pareille avec les dates 000-00-00.

Alors oui effectivement c’était peut être pas judicieux mais bon c’est la bêtise que j’ai faite.

Apparemment avec la version de Mysql 5.6 ou 5.7 il y a des paramètres plus stricts au niveau des types des attributs. En conséquence je ne peux plus faire de requête avec une valeur en ‘ ‘ (vide) qui se transforme en 0 dans la base de données quand c’est un INT ou en 000-00-00 quand c’est une date. Sauf que tout mon code est basé sur cette ancienne manière de fonctionner. Cette erreur impact tout mon code et j'ai vraiment beaucoup de pages et de lignes de code.

Y a-t-il un moyen de désactiver ce mode strict afin de ne pas avoir à revenir sur toutes mes requêtes et mon code ? :?

Merci beaucoup.

PS : Là je test sur WAMP, donc s'il y a un moyen de modifier ça dans WAMP, merci.
Haut
2 Réponses
Messages: 507

Enregistré le: 23 Fév 2013

Message le Ven Juin 09, 2017 13:35

Tu parles des INSERT ?
As-tu essayé de modifier des tables pour que ces champs en question aient une valeur par défaut (0 pour les INT, 0000-00-00 pour les dates). Il faut faire la manip pour chaque champ dans phpMyAdmin (par exemple), mais alors ça mettra la valeur indiquée lors d'un INSERT quand on n'a pas spécifié le champ.
Haut
Messages: 2

Enregistré le: 9 Juin 2017

Message le Ven Juin 09, 2017 13:50

Merci pour ton aide Rick38, j'ai finalement trouvé la solution. Dans le fichier My.ini il fallait mettre le sql-mode="" au lieu du mode strict par défaut qui bloque les date en 000-00-00 et autre champs.
Haut

Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.