sqlsrv_next_result
(No version information available, might only be in Git)
sqlsrv_next_result — Rend actif le prochain résultat de la requête spécifiée
Description
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.
Liste de paramètres
-
stmt -
La requête sur laquelle le prochain résultat sera appelé.
Valeurs de retour
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.
Exemples
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));
}
?>
Voir aussi
- sqlsrv_query() - Prépare et exécute une requête
- sqlsrv_fetch_array() - Retourne une ligne sous la forme d'un tableau
- sqlsrv_rows_affected() - Retourne le nombre de lignes modifiées par la dernière requête de type INSERT, UPDATE, ou DELETE