sqlsrv_errors

(No version information available, might only be in SVN)

sqlsrv_errorsRetourne une erreur ainsi que certaines informations sur la dernière opération SQLSRV effectuée

Description

mixed sqlsrv_errors ([ int $errorsOrWarnings ] )

Retourne une erreur ainsi que certaines informations sur la dernière opération SQLSRV effectuée.

Liste de paramètres

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.

Valeurs de retour

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

Tableau retourné par sqlsrv_errors
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.

Exemples

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 />";
		}
	}
}
?>

Notes

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.

Voir aussi

  • sqlsrv_configure() - Modifie la configuration du gestionnaire d'erreurs et d'historisations du driver

LoadingChargement en cours