(No version information available, might only be in SVN)
sqlsrv_next_result — Rend actif le prochain résultat de la requête spécifiée
Rend actif le prochain résultat de la requête spécifiée. Les résultats incluent les jeux de résultats, le nombre de lignes, et les paramètres de sortie.
stmt
La requête sur laquelle le prochain résultat sera appelé.
Retourne TRUE
si le prochain résultat a été récupéré avec succès,
FALSE
si une erreur survient, et NULL
s'il n'y a plus
de résultat à récupérer.
Exemple #1 Exemple avec sqlsrv_next_result()
L'exemple suivant exécute une requête batch qui fait des insertions dans une table, puis, fait une sélection de la table. Ceci produit 2 résultats sur la requête : un pour les lignes affectées par le INSERT, et un pour les lignes retournées par le SELECT. Pour récupérer les lignes retournées par le SELECT, la fonction sqlsrv_next_result() doit être appelée pour passer le premier résultat.
<?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);
// Consomme le premier résultat (lignes affectées par le INSERT) sans appeler la fonction sqlsrv_next_result.
echo "Lignes affectées : ".sqlsrv_rows_affected($stmt)."<br />";
// Se déplace au résultat suivant et affiche les résultats.
$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 "Il n'y a plus de résultat.<br />";
} else {
die(print_r(sqlsrv_errors(), true));
}
?>