(No version information available, might only be in Git)
sqlsrv_errors — Retorna informações de erro e aviso sobre a última operação SQLSRV executada
Retorna informações de erro e aviso sobre a última operação SQLSRV executada.
errorsOrWarnings
Determina se informações de erro, aviso ou ambos são retornados. Se este parâmetro não for fornecido, tanto as informações de erro quanto de aviso serão retornadas. Os seguintes são os valores suportados para este parâmetro: SQLSRV_ERR_ALL, SQLSRV_ERR_ERRORS, SQLSRV_ERR_WARNINGS.
Se ocorrerem erros e/ou avisos na última operação sqlsrv, um array de
arrays contendo informações de erro é retornado. Se não houver erros e/ou avisos
na última operação sqlsrv, é retornado null
. A tabela a seguir
descreve a estrutura dos arrays retornados:
Chave | Descrição |
---|---|
SQLSTATE | Para erros que se originam do driver ODBC, o SQLSTATE retornado pelo ODBC. Para erros que se originam dos Drivers da Microsoft para PHP para SQL Server, um SQLSTATE de IMSSP. Para avisos que se originam dos Drivers da Microsoft para PHP para SQL Server, um SQLSTATE de 01SSP. |
code | Para erros que se originam do SQL Server, o código de erro nativo do SQL Server. Para erros que se originam do driver ODBC, o código de erro retornado pelo ODBC. Para erros que se originam dos Drivers da Microsoft para PHP para SQL Server, o código de erro dos Drivers da Microsoft para PHP para SQL Server. |
message | Uma descrição do erro. |
Exemplo #1 Exemplo de 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));
}
/* Configura uma consulta para selecionar um nome de coluna inválido. */
$sql = "SELECT BadColumnName FROM Table_1";
/* A execução da consulta falhará devido ao nome da coluna ruim. */
$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 />";
}
}
}
?>
Por padrão, avisos gerados em uma chamada a qualquer função SQLSRV são tratados
como erros. Isso significa que se um aviso ocorrer em uma chamada para uma função SQLSRV,
a função retorna false
. No entanto, avisos que correspondem a valores SQLSTATE
01000, 01001, 01003 e 01S02 nunca são tratados como erros. Para
informações sobre como alterar esse comportamento, consulte sqlsrv_configure()
e a configuração WarningsReturnAsErrors.