Amélioration de la gestion des erreurs avec les exceptions MySQLi
Dans le but de simplifier la gestion des erreurs, vous rencontrez des difficultés pour convertir les erreurs de requête MySQLi en exceptions .
Problème Description :
Malgré l'utilisation de mysqli_report(MYSQLI_REPORT_STRICT) en conjonction avec des fonctions procédurales MySQLi dans une classe wrapper personnalisée, les échecs de requête n'entraînent toujours ni avertissements ni exceptions, ce qui nécessite des vérifications manuelles de la valeur de retour pour mysqli_query().
Réponse :
Pour résoudre ce problème et forcer MySQLi à lever des exceptions, utilisez la ligne suivante :
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Explication :
Le comportement par défaut de mysqli_report() est de signaler les deux avertissements et erreurs. Cependant, en définissant l'indicateur MYSQLI_REPORT_ERROR, MySQLi est invité à signaler uniquement les erreurs, ce qui correspond au comportement souhaité en matière de lancement d'exceptions.
Remarque importante :
Évitez d'encapsuler chaque requête dans un bloc try-catch, car il est considéré comme une bonne pratique d'utiliser un gestionnaire d'erreurs à l'échelle du site pour gérer la majorité des erreurs plutôt que de les gérer dans emplacements spécifiques.
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!