Maison > développement back-end > tutoriel php > Pourquoi les requêtes MySQLi ne génèrent-elles pas d'exceptions même avec `mysqli_report(MYSQLI_REPORT_STRICT)` ?

Pourquoi les requêtes MySQLi ne génèrent-elles pas d'exceptions même avec `mysqli_report(MYSQLI_REPORT_STRICT)` ?

Patricia Arquette
Libérer: 2024-12-31 07:24:11
original
271 Les gens l'ont consulté

Why Don't MySQLi Queries Throw Exceptions Even with `mysqli_report(MYSQLI_REPORT_STRICT)`?

Exceptions pour les erreurs de requête MySQLi

Question

Malgré la définition de mysqli_report(MYSQLI_REPORT_STRICT), les erreurs de requête dans MySQLi ne génèrent pas d'exceptions. mysqli_sql_exception n'est levée que pour les erreurs de connexion. Est-il normal de vérifier manuellement la valeur de retour de mysqli_query() pour détecter les échecs de requête ?

Réponse

Oui, une vérification manuelle est souvent nécessaire car :

  1. mysqli_report() : Appel de mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); permet le lancement d'exceptions.
  2. Try-catch : contrairement à la croyance populaire, les exceptions ne doivent pas être utilisées de manière excessive. La plupart des erreurs doivent être traitées de manière centralisée par un gestionnaire d'erreurs à l'échelle du site.

Ancien code :

$result = mysqli_query($DBlink, $SQL);
if($result === false) {
    throw new MySQLiQueryException($SQL, mysqli_error($DBlink), mysqli_errno($DBlink));
}
Copier après la connexion

Au lieu de cela, utilisez uniquement try-catch avec parcimonie pour erreurs qui nécessitent une attention immédiate.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal