Maison >développement back-end >tutoriel php >Comment les instructions préparées par MySQLi gèrent-elles et signalent-elles les erreurs lors de la préparation et de l'exécution ?
Le rapport d'erreurs des instructions préparées MySQLi revisité
Lors de l'utilisation des instructions préparées MySQLi, les développeurs peuvent se demander si la valeur de retour de l'instruction préparer détecte uniquement les erreurs lors de la préparation de la déclaration ou tout au long de son exécution. Cet article approfondit le sujet, fournit des informations et élimine toute confusion.
Détection des erreurs
Par défaut, la valeur de retour de l'instruction préparer indique si des erreurs se sont produites lors de la préparation de l'instruction. . Pour capturer les erreurs d'exécution, les développeurs doivent utiliser la syntaxe suivante :
if ($stmt_test->execute()) { $errorFlag = true; }
Cependant, il n'est pas nécessaire de vérifier $stmt_test->errno après l'exécution de l'instruction car toute erreur sera renvoyée en tant qu'exception PHP.
Configuration du rapport d'erreurs
Pour activer le rapport d'erreurs complet, exécutez la ligne suivante dans la connexion code :
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Cela élimine le besoin de tester les valeurs de retour pour détecter les erreurs. Au lieu de cela, les développeurs peuvent simplement exécuter des instructions préparées :
$stmt = $mysqli->prepare("INSERT INTO testtable VALUES (?,?,?)"); $stmt->bind_param('iii', $x, $y, $z); $stmt->execute();
Lorsqu'une erreur se produit, une exception PHP sera levée, permettant la gestion ou le rapport des erreurs.
Assurer la visibilité des erreurs
Pour garantir la visibilité des erreurs, vérifiez que le rapport d'erreurs PHP est configuré correctement :
En suivant ces recommandations, les développeurs peuvent gérer efficacement les erreurs lors de l'utilisation des instructions préparées par MySQLi, garantissant ainsi le bon déroulement des opérations. exécution de leurs opérations de base de données.
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!