sqlsrv_errors

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

sqlsrv_errorsВозвращает информацию об ошибке и предупреждении последней выполненной операции SQLSRV

Описание

sqlsrv_errors(int $errorsOrWarnings = ?): mixed

Возвращает информацию об ошибке и предупреждении последней выполненной операции SQLSRV.

Список параметров

errorsOrWarnings

Определяет, возвращаются ли сведения об ошибках, предупреждения или и то и другое. Если параметр не указан, возвращаются как информация об ошибке, так и информация о предупреждениях. Поддерживаются следующие значения параметра: SQLSRV_ERR_ALL, SQLSRV_ERR_ERRORS, SQLSRV_ERR_WARNINGS.

Возвращаемые значения

Если при последней операции sqlsrv возникли ошибки и/или предупреждения, возвращается массив массивов, содержащих информацию об ошибках. Если при последней операции sqlsrv не было ошибок и/или предупреждений, возвращается null. В следующей таблице описана структура возвращаемых массивов:

Массив, возвращаемый sqlsrv_errors
Ключ Описание
SQLSTATE Для ошибок, которые возникают из-за драйвера ODBC, возвращается SQLSTATE, возвращаемый ODBC. Для ошибок, которые возникают из-за драйверов Microsoft для PHP для SQL Server, возвращается SQLSTATE IMSSP. Для предупреждений, которые возникают из-за драйверов Microsoft для PHP для SQL Server, SQLSTATE возвращает значение 01SSP.
code Для ошибок, которые возникают из-за SQL Server, возвращает собственный код ошибки SQL Server. Для ошибок, возникающих из-за драйвера ODBC, возвращается код ошибки, возвращаемый ODBC. Для ошибок, которые возникают из-за драйверов Microsoft для PHP для SQL Server, возвращается код ошибки Microsoft Drivers для PHP для SQL Server.
message Описание ошибки.

Примеры

Пример #1 Пример использования 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));
}

/* Настройка запроса для выборки недопустимого имени столбца. */
$sql = "SELECT BadColumnName FROM Table_1";

/* Выполнение запроса завершится ошибкой из-за неправильного имени столбца. */
$stmt = sqlsrv_query( $conn, $sql );
if(
$stmt === false ) {
if( (
$errors = sqlsrv_errors() ) != null) {
foreach(
$errors as $error ) {
echo
"SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
echo
"Код: ".$error[ 'code']."<br />";
echo
"Сообщение: ".$error[ 'message']."<br />";
}
}
}
?>

Примечания

По умолчанию предупреждения, генерируемые при вызове любой функции SQLSRV, обрабатываются как ошибки. Это означает, что если при вызове функции SQLSRV возникает предупреждение, функция возвращает false. Однако предупреждения, соответствующие значениям SQLSTATE 01000, 01001, 01003 и 01S02, никогда не рассматриваются как ошибки. Для получения информации об изменении этого поведения смотрите описание функции sqlsrv_configure() и параметр WarningsReturnAsErrors.

Смотрите также

  • sqlsrv_configure() - Изменяет конфигурацию обработки ошибок драйвера и ведения журнала

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top