sqlsrv_errors

Stáhnout ovladač PHP

Vrací rozšířené chybové a/nebo varovné informace o poslední provedené operaci sqlsrv .

Funkce sqlsrv_errors může vrátit chybové a/nebo varovné informace tím, že ji vyvolá pomocí jedné z hodnot parametrů uvedených v sekci Parametry níže.

Ve výchozím nastavení jsou varování generovaná při volání jakékoli funkce sqlsrv považována za chyby; Pokud se při volání funkce sqlsrv objeví varování, funkce vrátí false. Varování odpovídající hodnotám SQLSTATE 01000, 01001, 01003 a 01S02 však nikdy nejsou považována za chyby.

Následující řádek kódu vypíná výše zmíněné chování; Varování generované voláním funkce sqlsrv nezpůsobí, že funkce vrátí false:

sqlsrv_configure("WarningsReturnAsErrors", 0);  

Následující řádek kódu obnovuje výchozí chování; Varování (s výjimkou výše uvedených) jsou považována za chyby:

sqlsrv_configure("WarningsReturnAsErrors", 1);  

Bez ohledu na nastavení lze varování získat pouze voláním sqlsrv_errors s hodnotou parametru SQLSRV_ERR_ALL nebo SQLSRV_ERR_WARNINGS (podrobnosti viz sekce Parametry níže).

Syntax

  
sqlsrv_errors( [int $errorsAndOrWarnings] )  

Parametry

$errorsAndOrWarnings[VOLITELNÉ]: Předdefinovaná konstanta. Tento parametr může mít jednu z hodnot uvedených v následující tabulce:

Value Description
SQLSRV_ERR_ALL Vrátí se chyby a upozornění vygenerovaná při posledním volání funkce sqlsrv .
SQLSRV_ERR_ERRORS Vrátí se chyby vygenerované při posledním volání funkce sqlsrv .
SQLSRV_ERR_WARNINGS Vrátí se upozornění vygenerovaná při posledním volání funkce sqlsrv .

Pokud není zadána žádná hodnota parametru, vrátí se jak chyby, tak varování generovaná posledním voláním funkce sqlsrv .

Návratová hodnota

Pole polí, nebo null. Každé pole ve vráceném poli obsahuje tři páry klíč-hodnota. Následující tabulka uvádí každý klíč a jeho popis:

Key Description
SQLSTATE Pro chyby pocházející z ovladače ODBC se SQLSTATE vrací ODBC. Pro informace o hodnotách SQLSTATE pro ODBC viz ODBC Error Codes.

Pro chyby, které pocházejí z Microsoft Drivers for PHP for SQL Server, je to SQLstate IMSSP.

Pro varování, která pocházejí z Microsoft Drivers for PHP for SQL Server, SQLSTATE 01SSP.
kód Pro chyby pocházející ze SQL Server, nativní chybový kód SQL Server.

U chyb, které pocházejí z ovladače ODBC, se chybový kód vrací ODBC.

Pro chyby pocházející z Microsoft Drivers for PHP for SQL Server je chybový kód Microsoft Drivers for PHP for SQL Server. Další informace naleznete v tématu Zpracování chyb a upozornění.
zpráva Popis chyby.

Hodnoty pole lze také zobrazit pomocí číselných klíčů 0, 1 a 2. Pokud nenastanou žádné chyby nebo varování, vrátí se null .

Example

Následující příklad ukazuje chyby, které vznikají během neúspěšného vykonávání příkazu. (Příkaz selhává, protože InvalidColumName není platné jméno sloupce v dané tabulce.) Příklad předpokládá, že SQL Server a databáze AdventureWorks jsou nainstalovány na lokálním počítači. Při spuštění příkladu z příkazového řádku se veškerý výstup zapíše do konzoly.

<?php  
/* Connect to the local server using Windows Authentication and   
specify the AdventureWorks database as the database in use. */  
$serverName = "(local)";  
$connectionInfo = array( "Database"=>"AdventureWorks");  
$conn = sqlsrv_connect( $serverName, $connectionInfo);  
if( $conn === false )  
{  
     echo "Could not connect.\n";  
     die( print_r( sqlsrv_errors(), true));  
}  
  
/* Set up a query to select an invalid column name. */  
$tsql = "SELECT InvalidColumnName FROM Sales.SalesOrderDetail";  
  
/* Attempt execution. */  
/* Execution will fail because of the invalid column name. */  
$stmt = sqlsrv_query( $conn, $tsql);  
if( $stmt === false )  
{  
      if( ($errors = sqlsrv_errors() ) != null)  
      {  
         foreach( $errors as $error)  
         {  
            echo "SQLSTATE: ".$error[ 'SQLSTATE']."\n";  
            echo "code: ".$error[ 'code']."\n";  
            echo "message: ".$error[ 'message']."\n";  
         }  
      }  
}  
  
/* Free connection resources */  
sqlsrv_close( $conn);  
?>