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)
}
?>