2024 PHP 日本会议

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