sqlsrv_send_stream_data

Envoie des données de flux de paramètres au serveur. Jusqu'à huit kilo-octets (8 Ko) de données sont envoyés lors de chaque appel à sqlsrv_send_stream_data.

Cc296180.note(fr-fr,SQL.90).gifRemarque :
Par défaut, toutes les données de flux sont envoyées au serveur lorsqu'une requête est exécutée. Si ce comportement par défaut n'est pas modifié, vous n'avez pas à utiliser sqlsrv_send_stream_data pour envoyer des données de flux au serveur. Pour plus d'informations sur la façon de modifier le comportement par défaut, consultez la section des paramètres de sqlsrv_query ou sqlsrv_prepare.

Syntaxe

sqlsrv_send_stream_data( resource $stmt)

Paramètres

$stmt : ressource d'instruction correspondant à une instruction exécutée.

Valeur de retour

Valeur booléenne : true, s'il y a d'autres données à envoyer. Sinon, false.

Exemple

L'exemple suivant ouvre un comparatif de produit sous la forme d'un flux de données qu'il envoie au serveur. Le comportement par défaut qui consiste à envoyer toutes les données de flux au moment de l'exécution est désactivé. L'exemple suppose que SQL Server et la base de données AdventureWorks sont installés sur l'ordinateur local. Toutes les données de sortie sont écrites dans la console lorsque l'exemple est exécuté à partir de la ligne de commande.

<?php
/* Connect to the local server using Windows Authentication and
specify the AdventureWorks database as the database in use. */
$serverName = "(local)";
$connectionInfo = array( "Database"=>"AdventureWorks");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
     echo "Could not connect.\n";
     die( print_r( sqlsrv_errors(), true));
}

/* Define the query. */
$tsql = "UPDATE Production.ProductReview 
         SET Comments = ( ?) 
         WHERE ProductReviewID = 3";

/* Open parameter data as a stream and put it in the $params array. */
$comment = fopen( "data://text/plain,[ Insert lengthy comment.]", "r");
$params = array( &$comment);

/* Prepare the statement. Use the $options array to turn off the
default behavior, which is to send all stream data at the time of query
execution. */
$options = array("SendStreamParamsAtExec"=>0);
$stmt = sqlsrv_prepare( $conn, $tsql, $params, $options);

/* Execute the statement. */
sqlsrv_execute( $stmt);

/* Send up to 8K of parameter data to the server with each call to
sqlsrv_send_stream_data. Count the calls. */
$i = 1;
while( sqlsrv_send_stream_data( $stmt)) 
{
      echo "$i call(s) made.\n";
      $i++;
}

/* Free statement and connection resources. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>

Voir aussi

Concepts

À propos des exemples de code dans la documentation

Autres ressources

Référence de l'API (Pilote SQL Server pour PHP)
Mise à jour des données (pilote SQL Server pour PHP)