sqlsrv_errors

(没有版本信息可用,可能只在 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 驱动程序的错误,由 ODBC 返回的 SQLSTATE。对于源自 Microsoft Drivers for PHP for SQL Server 的错误,SQLSTATE 为 IMSSP。对于源自 Microsoft Drivers for PHP for SQL Server 的警告,SQLSTATE 为 01SSP。
code 对于源自 SQL Server 的错误,本地 SQL Server 错误代码。对于源自 ODBC 驱动程序的错误,由 ODBC 返回的错误代码。对于源自 Microsoft Drivers for PHP for SQL Server 的错误,Microsoft Drivers for PHP for 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
"code: ".$error[ 'code']."<br />";
echo
"message: ".$error[ 'message']."<br />";
}
}
}
?>

注释

默认情况下,在调用任何 SQLSRV 函数时生成的警告被视为错误。这意味着,如果在调用 SQLSRV 函数时发生警告,该函数将返回 **false**。但是,与 SQLSTATE 值 01000、01001、01003 和 01S02 对应的警告永远不会被视为错误。有关更改此行为的信息,请参阅 sqlsrv_configure() 和 WarningsReturnAsErrors 设置。

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top