Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het ophalen van gegevens als een stream is alleen beschikbaar in het SQLSRV-stuurprogramma van de Microsoft-stuurprogramma's voor PHP voor SQL Server en is niet beschikbaar in het PDO_SQLSRV stuurprogramma.
Het SQLSRV-stuurprogramma maakt gebruik van PHP-streams voor het ophalen van grote hoeveelheden gegevens van de server. In het voorbeeld in dit onderwerp ziet u hoe u tekengegevens als een stroom ophaalt.
Example
In het volgende voorbeeld wordt een rij opgehaald uit de tabel Production.ProductReview van de AdventureWorks-database. Het veld Opmerkingen van de geretourneerde rij wordt opgehaald als een stroom en weergegeven met behulp van de PHP-fpassthru-functie .
Het ophalen van gegevens als een stroom wordt bereikt met behulp van sqlsrv_fetch en sqlsrv_get_field met het retourtype dat is opgegeven als een tekenstroom. Het retourtype wordt opgegeven met behulp van de constante SQLSRV_PHPTYPE_STREAM. Zie Constanten (Microsoft-stuurprogramma's voor PHP voor SQL Server) voor informatie over sqlsrv-constanten.
In het voorbeeld wordt ervan uitgegaan dat SQL Server en de AdventureWorks-database op de lokale computer zijn geïnstalleerd. Alle uitvoer wordt naar de console geschreven wanneer het voorbeeld via de opdrachtregel wordt uitgevoerd.
<?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));
}
/* Set up the Transact-SQL query. */
$tsql = "SELECT ReviewerName,
CONVERT(varchar(32), ReviewDate, 107) AS [ReviewDate],
Rating,
Comments
FROM Production.ProductReview
WHERE ProductReviewID = ? ";
/* Set the parameter value. */
$productReviewID = 1;
$params = array( $productReviewID);
/* Execute the query. */
$stmt = sqlsrv_query($conn, $tsql, $params);
if( $stmt === false )
{
echo "Error in statement execution.\n";
die( print_r( sqlsrv_errors(), true));
}
/* Retrieve and display the data. The first three fields are retrieved
as strings and the fourth as a stream with character encoding. */
if(sqlsrv_fetch( $stmt ) === false )
{
echo "Error in retrieving row.\n";
die( print_r( sqlsrv_errors(), true));
}
echo "Name: ".sqlsrv_get_field( $stmt, 0 )."\n";
echo "Date: ".sqlsrv_get_field( $stmt, 1 )."\n";
echo "Rating: ".sqlsrv_get_field( $stmt, 2 )."\n";
echo "Comments: ";
$comments = sqlsrv_get_field( $stmt, 3,
SQLSRV_PHPTYPE_STREAM(SQLSRV_ENC_CHAR));
fpassthru($comments);
/* Free the statement and connection resources. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>
Omdat er geen PHP-retourtype is opgegeven voor de eerste drie velden, wordt elk veld geretourneerd volgens het standaard PHP-type. Zie Standaard-PHP-gegevenstypen voor informatie over standaard PHP-gegevenstypen. Zie Hoe u PHP-gegevenstypen opgeeft voor informatie over het opgeven van PHP-retourtypen.
Zie ook
Gegevens ophalen als stream met behulp van het SQLSRV-stuurprogramma