Compartir vía


sqlsrv_send_stream_data

Descargar controlador PHP

Envía datos de secuencias de parámetros al servidor. Se envían hasta ocho kilobytes (8 kB) de datos con cada llamada a sqlsrv_send_stream_data.

Nota

De manera predeterminada, todos los datos de secuencia se envían al servidor cuando se ejecuta una consulta. Si no se cambia este comportamiento predeterminado, no resulta necesario usar sqlsrv_send_stream_data para enviar datos de secuencia al servidor. Para obtener información sobre cómo cambiar el comportamiento predeterminado, consulte la sección Parameters de sqlsrv_query o sqlsrv_prepare.

Sintaxis

  
sqlsrv_send_stream_data( resource $stmt)  

Parámetros

$stmt: un recurso de instrucción correspondiente a una instrucción ejecutada.

Valor devuelto

Se devuelve el valor booleano True si hay más datos que se van a enviar. De lo contrario, se devuelve el valor False.

Ejemplo

En el ejemplo siguiente, se abre una reseña del producto como una secuencia y se envía al servidor. El comportamiento predeterminado de enviar todos los datos de secuencia en el momento de la ejecución está deshabilitado. En el ejemplo se da por hecho que SQL Server y la base de datos AdventureWorks están instalados en el equipo local. Los resultados se agregan a la consola cuando se ejecuta el ejemplo en la línea de comandos.

<?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. */
$data = 'Insert any lengthy comment here.';
$comment = fopen('data:text/plain,'.urlencode($data), '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);  
?>  

Consulte también

Referencia de API del controlador SQLSRV

Actualización de datos (controladores de Microsoft para PHP para SQL Server)

Sobre los ejemplos de código de la documentación