sqlsrv_next_result
Makes the next result of the specified statement active
説明
mixed sqlsrv_next_result(resource $stmt)
Makes the next result of the specified statement active. Results include result
sets, row counts, and output parameters.
パラメータ
-
stmt
-
The statement on which the next result is being called.
戻り値
Returns true if the next result was successfully retrieved, false if an error
occurred, and null if there are no more results to retrieve.
例
例1 sqlsrv_next_result example
The following example executes a batch query that inserts into a table and
then selects from the table. This produces two results on the statement:
one for the rows affected by the INSERT and one for the rows returned by
the SELECT. To get to the rows returned by the SELECT,
sqlsrv_next_result must be called to move past the first 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));
}
?>
参考
- sqlsrv_query
- sqlsrv_fetch_array
- sqlsrv_rows_affected