PHP Récupération des messages d'erreur


Exemple

Lorsqu'une requête est erronée, il est important de récupérer les messages d'erreur renvoyés par le pilote pour identifier la cause du problème. La syntaxe est la suivante:

sqlsrv_errors([int $errorsOrWarnings]);

Cela retourne un tableau avec:

Clé La description
SQLSTATE L'état dans lequel se trouve le pilote SQL Server / OBDC
code Le code d'erreur SQL Server
message La description de l'erreur

Il est courant d'utiliser la fonction ci-dessus comme ceci:

$brokenQuery = "SELECT BadColumnName FROM Table_1";
$stmt = sqlsrv_query($conn, $brokenQuery);

if ($stmt === false) {
    if (($errors = sqlsrv_errors()) != null) {
        foreach ($errors as $error) {
            echo "SQLSTATE: ".$error['SQLSTATE']."<br />";
            echo "code: ".$error['code']."<br />";
            echo "message: ".$error['message']."<br />";
        }
    }
}