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设置。