Files
doc-fr/reference/sqlsrv/functions/sqlsrv-errors.xml
T
2021-09-24 04:13:47 +01:00

169 lines
5.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 04b11e621f6ccf857368d90262f051a8d40c865d Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.sqlsrv-errors" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>sqlsrv_errors</refname>
<refpurpose>Retourne une erreur ainsi que certaines informations sur la dernière opération SQLSRV effectuée</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<!-- Example: All functions have this -->
<type>mixed</type><methodname>sqlsrv_errors</methodname>
<methodparam choice="opt"><type>int</type><parameter>errorsOrWarnings</parameter></methodparam>
</methodsynopsis>
<para>
Retourne une erreur ainsi que certaines informations sur la dernière opération
SQLSRV effectuée.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>errorsOrWarnings</parameter></term>
<listitem>
<para>
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.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
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é :
<table>
<title>Tableau retourné par sqlsrv_errors</title>
<tgroup cols="2">
<thead>
<row>
<entry>Clé</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>SQLSTATE</entry>
<entry>
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.
</entry>
</row>
<row>
<entry>code</entry>
<entry>
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.
</entry>
</row>
<row>
<entry>message</entry>
<entry>Une description de l'erreur.</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>functionname</function></title>
<programlisting role="php">
<![CDATA[
<?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 />";
}
}
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<para>
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 <function>sqlsrv_configure</function>
ainsi que sur la configuration de WarningsReturnAsErrors.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>sqlsrv_configure</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->