(No version information available, might only be in SVN)
sqlsrv_errors — Retourne une erreur ainsi que certaines informations sur la dernière opération SQLSRV effectuée
Retourne une erreur ainsi que certaines informations sur la dernière opération SQLSRV effectuée.
errorsOrWarnings
Détermine si l'on doit retourner des informations sur l'erreur, des informations sur l'alerte, ou les deux. Si ce paramètre n'est pas fourni, les deux informations seront retournées. Voici la liste des valeurs supportées par ce paramètre : SQLSRV_ERR_ALL, SQLSRV_ERR_ERRORS, SQLSRV_ERR_WARNINGS.
Si une erreur et/ou une alerte survient lors de la dernière opération SQLSRV,
un tableau de tableaux contenant les informations de l'erreur sera retourné.
Si aucune erreur ni alerte ne survient, NULL
sera retourné. Le tableau
suivant décrit la structure du tableau retourné :
Clé | Description |
---|---|
SQLSTATE | Pour les erreurs originaires du driver ODBC, ce sera le SQLSTATE retourné par ODBC. Pour les erreurs originaires du Microsoft Drivers pour PHP pour le serveur SQL, un SQLSTATE de IMSSP. Pour les alertes originaires du Microsoft Drivers pour PHP pour le serveur SQL, un SQLSTATE de 01SSP. |
code | Pour les erreurs originaires du serveur SQL, le code erreur natif du serveur SQL. Pour les erreurs originaires du ODBC driver, le code erreur retourné par ODBC. Pour les erreurs originaires du Microsoft Drivers pour PHP pour le serveur SQL, le code erreur Microsoft Drivers pour PHP pour le serveur SQL. |
message | Une description de l'erreur. |
Exemple #1 Exemple avec functionname()
<?php
$serverName = "serverName/sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
/* Requête pour sélectionner un nom de colonne invalide. */
$sql = "SELECT BadColumnName FROM Table_1";
/* L'exécution de la requête va échouer car le nom de la colonne n'existe pas. */
$stmt = sqlsrv_query( $conn, $sql );
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 />";
}
}
}
?>
Par défaut, les alertes générées lors d'un appel à une fonction SQLSRV
sont traitées comme des erreurs. Cela signifie que si une alerte survient
lors d'un appel à une fonction SQLSRV, la fonction retournera FALSE
.
Cependant, les alertes qui correspondent aux SQLSTATE de valeurs
01000, 01001, 01003, et 01S02 ne seront jamais traitées comme des erreurs.
Pour plus d'informations sur la façon de modifier ce comportement, reportez-vous
à la documentation sur la fonction sqlsrv_configure()
ainsi que sur la configuration de WarningsReturnAsErrors.