专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

sqlsrv_errors

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:05:58       共计:3604 浏览

返回关于上次执行的 sqlsrv 操作的扩展错误和/或警告信息。

通过使用在下文“参数”部分中指定的其中一个参数值调用 sqlsrv_errors 函数,可使该函数返回错误和/或警告信息。

默认情况下,调用任何 sqlsrv 函数时生成的警告都被视为错误;如果在调用 sqlsrv 函数时出现警告,则该函数将返回 false。但是,与 SQLSTATE 值 01000、01001、01003 和 01S02 对应的警告永远不会被视为错误。

下面这行代码禁用上述行为;通过调用 sqlsrv 函数生成的警告不会使该函数返回 false:

sqlsrv_configure("WarningsReturnAsErrors", 0);

下面这行代码重新启用默认行为;警告(以及上述异常)会被视为错误:

sqlsrv_configure("WarningsReturnAsErrors", 1);

不论设置如何,警告都只能通过使用 sqlsrv_errors 或 SQLSRV_ERR_ALL 参数值(有关详细信息,请参阅下文中的“参数”部分)调用 SQLSRV_ERR_WARNINGS 来检索。

语法

sqlsrv_errors( [int $errorsAndOrWarnings] )

参数

$errorsAndOrWarnings[可选]:一个预定义的常数。此参数可以取下表中列出的值之一:

说明

SQLSRV_ERR_ALL

返回上次调用 sqlsrv 函数时生成的错误和警告。

SQLSRV_ERR_ERRORS

返回上次调用 sqlsrv 函数时生成的错误。

SQLSRV_ERR_WARNINGS

返回上次调用 sqlsrv 函数时生成的警告。

如果没有提供任何参数值,则返回通过上次调用 sqlsrv 函数生成的错误和警告。

返回值

数组的 array 或 null。返回的 array 中的每个 array 均包含三个键值对。下表列出了每个键及其说明:

说明

SQLSTATE

对于来自 ODBC 驱动程序的错误,为 ODBC 返回的 SQLSTATE。有关 ODBC 的 SQLSTATE 值的信息,请参阅 ODBC Error Codes(ODBC 错误代码)。

对于来自 SQL Server Driver for PHP 的错误,SQLSTATE 为 IMSSP。

对于来自 SQL Server Driver for PHP 的警告,SQLSTATE 为 01SSP。

code

对于来自 SQL Server 的错误,为本机 SQL Server 错误代码。

对于来自 ODBC 驱动程序的错误,为 ODBC 返回的错误代码。

对于来自 SQL Server Driver for PHP 的错误,为 SQL Server Driver for PHP 错误代码。

message

对错误的说明。

也可以使用数字键 0、1 和 2 访问数组值。如果没有出现任何错误或警告,则返回 null

示例

下面的示例显示在语句执行失败时出现的错误。(该语句失败的原因是 InvalidColumName 不是指定表中的有效列名)。此示例假定本地计算机上已安装 SQL Server 和AdventureWorks 数据库。从命令行运行此示例时,所有的输出都将写入控制台。

<?php
/* Connect to the local server using Windows Authentication and 
specify the AdventureWorks database as the database in use. */
$serverName = "(local)";
$connectionInfo = array( "Database"=>"AdventureWorks");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
     echo "Could not connect.\n";
     die( print_r( sqlsrv_errors(), true));
}

/* Set up a query to select an invalid column name. */
$tsql = "SELECT InvalidColumnName FROM Sales.SalesOrderDetail";

/* Attempt execution. */
/* Execution will fail because of the invalid column name. */
$stmt = sqlsrv_query( $conn, $tsql);
if( $stmt === false )
{
      if( ($errors = sqlsrv_errors() ) != null)
      {
         foreach( $errors as $error)
         {
            echo "SQLSTATE: ".$error[ 'SQLSTATE']."\n";
            echo "code: ".$error[ 'code']."\n";
            echo "message: ".$error[ 'message']."\n";
         }
      }
}

/* Free connection resources */
sqlsrv_close( $conn);
?>

另请参见

概念

关于文档中的代码示例

其他资源

API 参考 (SQL Server Driver for PHP)
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:sqlsrv_execute | ·下一条:sqlsrv_connect

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有