在线文档教程

sqlsrv_errors

sqlsrv_errors

(没有可用的版本信息,可能只在Git中)

sqlsrv_errors - 返回有关上次执行的SQLSRV操作的错误和警告信息

描述

mixed sqlsrv_errors ([ int $errorsOrWarnings ] )

返回有关上次执行的SQLSRV操作的错误和警告信息。

参数

errorsOrWarnings

确定是否返回错误信息,警告信息或两者。如果未提供此参数,则会返回错误信息和警告信息。以下是此参数支持的值:SQLSRV_ERR_ALL,SQLSRV_ERR_ERRORS,SQLSRV_ERR_WARNINGS。

返回值

如果最后一次sqlsrv操作发生错误和/或警告,则返回包含错误信息的数组数组。如果在最后的sqlsrv操作中没有发生错误和/或警告,NULL则返回。下表描述了返回数组的结构:

描述
SQLSTATE对于源自ODBC驱动程序的错误,由ODBC返回的SQLSTATE。对于源自用于SQL Server的Microsoft驱动程序PHP的错误,请使用IMSSP的SQLSTATE。对于来自PHP for SQL Server的Microsoft驱动程序的警告,使用01SSP的SQLSTATE。
对于源自SQL Server的错误,原生SQL Server错误代码。对于源自ODBC驱动程序的错误,由ODBC返回的错误代码。对于源自Microsoft的Microsoft SQL Server for PHP for SQL Server错误代码的Microsoft驱动程序错误。
信息错误的描述。

例子

Example #1 functionname() example

<?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) } /* Set up a query to select an invalid column name. */ $sql = "SELECT BadColumnName FROM Table_1"; /* Execution of the query will fail because of the bad column name. */ $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设置。