Lors de la tentative d'insertion de données dans une base de données, vous pouvez rencontrer le message « Erreur lors de l'envoi du paquet QUERY ». Examinons le problème et sa solution.
Le code fourni utilise PDO pour préparer et exécuter une requête permettant d'insérer des données dans une colonne définie comme texte long. Cependant, l'erreur suggère que la taille des données dépasse une limite.
MySQL impose une restriction sur la taille maximale des paquets de données pouvant être envoyés lors d'une requête. Par défaut, cette limite est de 16 Mo. Le texte long devrait théoriquement prendre en charge des données jusqu'à 4 Go.
Le problème survient lorsque les données insérées sont plus volumineuses que la taille de paquet autorisée. MySQL envoie des données par paquets, et si le paquet ne peut pas contenir l'intégralité des données, cela entraîne une "Erreur lors de l'envoi du paquet QUERY."
Solution :
Pour résoudre ce problème, vous avez deux options :
SET GLOBAL max_allowed_packet=524288000;
Cette commande définit la taille max_allowed_packet à 500 Mo, ce qui devrait suffire pour la plupart des scénarios. N'oubliez pas de réinitialiser la valeur par défaut après avoir inséré les données pour éviter toute surcharge potentielle en termes de performances.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!