Comment afficher les erreurs mysqli_query
P粉713846879
2023-09-01 13:52:57
<p>J'essaie d'afficher une mysqli_error dans mon script php et je continue de recevoir une page noire si la requête échoue mais renvoie une réponse en cas de succès et si la requête échoue à la fois mysqli_error($conn) et mysqli_errno($conn) Affiche juste une page noire.
Ceci est mon script de connexion à la base de données</p>
<pre class="brush:php;toolbar:false;"><?php
$ser = "tester" ;
$utilisateur = "test" ;
$pass = "test" ;
$db="test";
$conn = mysqli_connect($ser, $user, $pass, $db);
si ($conn) {
die("Échec de la connexion : " . mysqli_connect_error());
}
?>≪/pré>
<p>Ma requête PHP</p>
<pre class="brush:php;toolbar:false;"><?php
inclure « conn.php » ;
si ($conn) {
$sql = "INSERT INTO tbl_users (userId, email, pass) VALUES ("$userId", "$email", "$pass")";
si (mysqli_query($conn, $sql)) {
echo json_encode(tableau(
"statut" => "OK",
"message" => "Succès",
));
} autre {
echo json_encode(tableau(
"état" => "Erreur",
"message" => erreur_mysqli($conn),
));
}
}</pré>
<p>Si la requête s'exécute correctement, je peux obtenir une réponse réussie, mais si j'utilise <strong>ini_set('display_errors', 1);</strong> page vierge;< /strong> J'obtiens des erreurs de page entière mais j'ai juste besoin de mysqli_error ou de mysqli_errno. </p>
Depuis PHP 8.1, le paramètre par défaut pour le rapport d'erreurs mysqli est MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT, ce qui amène les erreurs à lever des exceptions au lieu de simplement renvoyer
false
false
.Si vous souhaitez vérifier les erreurs dans votre code au lieu d'obtenir des exceptions, utilisez
Une meilleure solution consiste à utiliser des gestionnaires d’exceptions.