You can use a for loop to iterate through the results:
If you know how many results there should be it's easier, otherwise you can put a large number in the loop constructor and break when done:
<?
for ($i=0; $i< (Large # or Exact #); $i++)
{
$rows_affected = sqlsrv_rows_affected($q2);
if ($rows_affected === false)
{
echo 'Inserts Failed<br />\n';
} else if ( $rows_affected == -1) {
echo "No information available.<br />\n";
} else {
echo $rows_affected." rows were added.<br />\n";
}
$next_result = sqlsrv_next_result($q2);
if (!$next_result)
{
break;
}
}
?>sqlsrv_next_result
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
sqlsrv_next_result
Референца за `function.sqlsrv-next-result.php` со подобрена типографија и навигација.
sqlsrv_next_result
(Нема достапни информации за верзијата, можеби е само во Git)
sqlsrv_next_result — Го прави активен следниот резултат од наведената изјава
= NULL
Го прави активен следниот резултат од наведената изјава. Резултатите вклучуваат множества со резултати, број на редови и излезни параметри.
Параметри
stmt- Изјавата на која се повикува следниот резултат.
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true ако следниот резултат беше успешно добиен, false ако се појави грешка, и null ако нема повеќе резултати за добивање.
Примери
Пример #1 sqlsrv_next_result() example
Следниот пример извршува сериска команда што вметнува во табела, а потоа избира од табелата. Ова произведува два резултати на изјавата: еден за редовите погодени од 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));
}
?>Види Исто така
- sqlsrv_query() - Подготвува и извршува прашалник
- sqlsrv_fetch_array() - Враќа ред како низа
- sqlsrv_rows_affected() - Враќа број на редови изменети од последниот извршен прашалник INSERT, UPDATE или DELETE