Retrieving Data as a Stream Using the SQLSRV Driver

DownloadDownload PHP Driver

Retrieving data as a stream is only available in the SQLSRV driver of the Microsoft Drivers for PHP for SQL Server, and is not available in the PDO_SQLSRV driver.

The Microsoft Drivers for PHP for SQL Server takes advantage of streams for retrieving large amounts of data. The topics in this section provide details about how to retrieve data as a stream.

The following steps summarize how to retrieve data as a stream:

  1. Prepare and execute a Transact-SQL query with sqlsrv_query or the combination of sqlsrv_prepare/sqlsrv_execute.

  2. Use sqlsrv_fetch to move to the next row in the result set.

  3. Use sqlsrv_get_field to retrieve a field from the row. Specify that the data is to be retrieved as a stream by using SQLSRV_PHPTYPE_STREAM() as the third parameter in the function call. This table lists the constants used to specify encodings and their descriptions:

    SQLSRV Constant Description
    SQLSRV_ENC_BINARY Data is returned as a raw byte stream from the server without performing encoding or translation.
    SQLSRV_ENC_CHAR Data is returned in 8-bit characters as specified in the code page of the Windows locale set on the system. Any multi-byte characters or characters that do not map into this code page are substituted with a single byte question mark (?) character.
Note

Some data types are returned as streams by default. For more information, see Default PHP Data Types.

In This Section

Topic Description
Data Types with Stream Support Using the SQLSRV Driver Lists the SQL Server data types that can be retrieved as streams.
How to: Retrieve Character Data as a Stream Using the SQLSRV Driver Demonstrates how to retrieve character data as a stream.
How to: Retrieve Binary Data as a Stream Using the SQLSRV Driver Demonstrates how to retrieve binary data as a stream.

See Also

Retrieving Data
Constants (Microsoft Drivers for PHP for SQL Server)