Maison >développement back-end >tutoriel php >Comment résoudre l'erreur « L'instruction préparée doit être re-préparée » dans MySQL ?
Traitement des erreurs de re-préparation des instructions préparées MySQL
Lors de la migration de votre site PHP vers un serveur d'hébergement, vous pouvez rencontrer le message déroutant « Préparé la déclaration doit être re-préparée" erreur. Cela se produit souvent après l'implémentation de procédures stockées MySQL dans votre code.
La racine de ce problème peut résider dans un bug MySQL connu (#42041). Pour y remédier, vous devez augmenter la valeur du paramètre table_definition_cache.
Mise en cache des instructions dans MySQL
Pour optimiser les performances, MySQL met en cache certaines informations sur les tables, y compris leur définitions. Le paramètre table_definition_cache contrôle la taille de ce cache. Lorsque le cache est trop petit, cela peut entraîner l'erreur « L'instruction préparée doit être re-préparée », en particulier lorsque les tables sont fréquemment modifiées.
Augmentation de la valeur table_definition_cache
Pour corriger l'erreur, vous devez augmenter la valeur de table_definition_cache dans votre fichier de configuration MySQL (généralement nommé my.cnf). Recherchez la section [mysqld] et ajoutez la ligne suivante :
table_definition_cache=1000
La valeur optimale pour table_definition_cache dépend de vos modèles d'utilisation spécifiques. Une valeur plus élevée permet à MySQL de mettre en cache davantage de définitions de table, réduisant ainsi le risque de re-préparation des instructions.
Après avoir effectué cette modification, redémarrez votre serveur MySQL pour que les paramètres prennent effet. Cela devrait éliminer l'erreur « La déclaration préparée doit être re-préparée » sur votre serveur d'hébergement.
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!