Maison >développement back-end >tutoriel php >Comment puis-je gérer efficacement les erreurs dans les instructions préparées par MySQLi ?

Comment puis-je gérer efficacement les erreurs dans les instructions préparées par MySQLi ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-13 05:44:14106parcourir

How Can I Effectively Handle Errors in MySQLi Prepared Statements?

Rapport d'erreurs dans les instructions préparées MySQLi

Lorsque vous travaillez avec MySQLi, il est crucial de comprendre le rapport d'erreurs. Cet article explore les nuances de la valeur de retour de l'instruction « prepare » et explore la nécessité d'une gestion supplémentaire des erreurs.

La valeur de retour de « prepare » indique simplement si la préparation de l'instruction SQL a réussi. Pour détecter les erreurs d’exécution, des mesures supplémentaires sont nécessaires. Le remplacement de l'appel « execute » par le code suivant garantit que les erreurs d'exécution sont signalées :

if($stmt_test->execute()) {
  $errorflag = true;
}

De plus, après l'exécution de l'instruction, la vérification de « errno » et la réinitialisation de « errorflag » s'il est différent de zéro permettent une capture complète des erreurs :

if($stmt_test->errno) {
  $errorflag = true;
}

Cependant, une approche plus concise et complète consiste à activer le rapport d'erreurs en utilisant la ligne suivante dans la connexion code :

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

Ce paramètre garantit que chaque erreur est signalée comme une exception PHP, éliminant ainsi le besoin de vérifications manuelles méticuleuses des erreurs.

$stmt = $mysqli->prepare("INSERT INTO testtable VALUES (?,?,?)");
$stmt->bind_param('iii', $x, $y, $z);
$stmt->execute();

Avec une configuration appropriée du rapport d'erreurs PHP, les erreurs sera affiché ou enregistré selon les paramètres de l'environnement de développement ou de production.

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!

Déclaration:
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