Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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);
?>