在线文档教程

sqlsrv_next_result

sqlsrv_next_result

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

sqlsrv_next_result — 使指定语句的下一个结果处于活动状态

描述

mixed sqlsrv_next_result ( resource $stmt )

使指定语句的下一个结果处于活动状态。结果包括结果集,行数和输出参数。

参数

stmt

下一个结果被调用的语句。

返回值

返回TRUE是否成功检索了下一个结果,FALSE是否发生错误以及NULL是否没有更多检索结果。

例子

示例#1 sqlsrv_next_result()示例

以下示例执行批量查询,该批量查询插入到表中,然后从表中进行选择。这会在语句上产生两个结果:一个针对受INSERT影响的行,另一个针对SELECT返回的行。要访问SELECT返回的行,必须调用sqlsrv_next_result()以移过第一个结果。

<?php $serverName = "serverName\sqlexpress"; $connectionInfo = array("Database"=>"dbName", "UID"=>"userName", "PWD"=>"password" $conn = sqlsrv_connect( $serverName, $connectionInfo $query = "INSERT INTO Table_1 (id, data) VALUES (?,? SELECT * FROM TABLE_1;"; $params = array(1, "some data" $stmt = sqlsrv_query($conn, $query, $params // Consume the first result (rows affected by INSERT) without calling sqlsrv_next_result. echo "Rows affected: ".sqlsrv_rows_affected($stmt)."<br />"; // Move to the next result and display results. $next_result = sqlsrv_next_result($stmt if( $next_result ) {    while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)){       echo $row['id'].": ".$row['data']."<br />";     } } elseif( is_null($next_result)) {      echo "No more results.<br />"; } else {      die(print_r(sqlsrv_errors(), true) } ?>