Vu que tu as fait une mise à jour du système il y a de grandes chances que ton serveur MySQL y soit aussi passé.
Il y a eu une modification au passage à MySQL 5.7 : passage au mode strict par défaut
C'est typiquement le genre d'erreurs qui autrefois étaient silencieusement mise sous le tapis, MySQL tronquait sans vergogne ta chaîne de caractère et pas de retour en erreur.
Maintenant ce n'est plus le cas et tant mieux.
Charge donc à toi de valider ou transformer les données avant insertion dans la base de données.
Pour la validation en PHP je ne saurai trop te conseiller de jeter un œil du côté du composant Validator de Symfony : https://symfony.com/doc/current/validation.html. Il te permettra assez facilement de valider toutes les données saisies avant leur validation et de remonter les erreurs à l'utilisateur pour correction
# Le "fautif" est MySQL et pas PHP
Posté par Jérôme FIX (site web personnel) . En réponse au message [résolu] PHP7.3 et Mariadb - Gestion des erreurs de longueur des champs texte. Évalué à 5.
Bonjour,
Vu que tu as fait une mise à jour du système il y a de grandes chances que ton serveur MySQL y soit aussi passé.
Il y a eu une modification au passage à MySQL 5.7 : passage au mode strict par défaut
https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html
C'est typiquement le genre d'erreurs qui autrefois étaient silencieusement mise sous le tapis, MySQL tronquait sans vergogne ta chaîne de caractère et pas de retour en erreur.
Maintenant ce n'est plus le cas et tant mieux.
Charge donc à toi de valider ou transformer les données avant insertion dans la base de données.
Pour la validation en PHP je ne saurai trop te conseiller de jeter un œil du côté du composant Validator de Symfony : https://symfony.com/doc/current/validation.html. Il te permettra assez facilement de valider toutes les données saisies avant leur validation et de remonter les erreurs à l'utilisateur pour correction
Jérôme.