(No version information available, might only be in Git)
sqlsrv_errors — Возвращает информацию об ошибке и предупреждении последней выполненной операции SQLSRV
Возвращает информацию об ошибке и предупреждении последней выполненной операции SQLSRV.
errorsOrWarnings
Определяет, возвращаются ли сведения об ошибках, предупреждения или и то и другое. Если параметр не указан, возвращаются как информация об ошибке, так и информация о предупреждениях. Поддерживаются следующие значения параметра: SQLSRV_ERR_ALL, SQLSRV_ERR_ERRORS, SQLSRV_ERR_WARNINGS.
Если при последней операции sqlsrv возникли ошибки и/или предупреждения, возвращается массив массивов,
содержащих информацию об ошибках. Если при последней операции sqlsrv не было ошибок и/или предупреждений, возвращается null
.
В следующей таблице описана структура возвращаемых массивов:
Ключ | Описание |
---|---|
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.