Compartir a través de


sqlsrv_get_field

Recupera los datos del campo especificado de la fila actual. Se deben obtener acceso a los datos de campo en orden. Por ejemplo, no se puede obtener acceso a los datos del primer campo una vez que se ha obtenido acceso a los datos del segundo campo.

Sintaxis

sqlsrv_get_field( resource $stmt, int $fieldIndex [, int $getAsType])

Parámetros

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

$fieldIndex: el índice del campo que se va a recuperar. Los índices comienzan en cero.

$getAsType [OPCIONAL]: una constante SQLSRV (SQLSRV_PHPTYPE_*) que determina el tipo de datos de PHP de los datos devueltos. Para obtener información acerca de los tipos de datos compatibles, vea Constantes SQLSRV. Si no se especifica el tipo de datos devuelto, se devolverá un tipo de datos predeterminado de PHP. Para obtener información acerca de los tipos de datos predeterminados de PHP, vea Tipos de datos predeterminados de PHP. Para obtener información acerca de cómo especificar los tipos de datos de PHP, vea Cómo especificar tipos de datos de PHP.

Valor devuelto

Los datos del campo. Puede especificar el tipo de datos de PHP de los datos devueltos mediante el parámetro $getAsType. Si no se especifica el tipo de datos devuelto, se devolverá el tipo de datos predeterminado de PHP. Para obtener información acerca de los tipos de datos predeterminados de PHP, vea Tipos de datos predeterminados de PHP. Para obtener información acerca de cómo especificar los tipos de datos de PHP, vea Cómo especificar tipos de datos de PHP.

Ejemplo

En el siguiente ejemplo se recupera una fila de datos que contiene una revisión del productos y el nombre del revisor. Para recuperar datos del conjunto de resultados, se usa sqlsrv_get_field. En el ejemplo se supone que SQL Server y la base de datos AdventureWorks están instalados en el equipo local. Todos los resultados se escriben en la consola cuando el ejemplo se ejecuta desde 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));
}

/* Set up and execute the query. Note that both ReviewerName and
Comments are of the SQL Server nvarchar type. */
$tsql = "SELECT ReviewerName, Comments 
         FROM Production.ProductReview
         WHERE ProductReviewID=1";
$stmt = sqlsrv_query( $conn, $tsql);
if( $stmt === false )
{
     echo "Error in statement preparation/execution.\n";
     die( print_r( sqlsrv_errors(), true));
}

/* Make the first row of the result set available for reading. */
if( sqlsrv_fetch( $stmt ) === false )
{
     echo "Error in retrieving row.\n";
     die( print_r( sqlsrv_errors(), true));
}

/* Note: Fields must be accessed in order.
Get the first field of the row. Note that no return type is
specified. Data will be returned as a string, the default for
a field of type nvarchar.*/
$name = sqlsrv_get_field( $stmt, 0);
echo "$name: ";

/*Get the second field of the row as a stream.
Because the default return type for a nvarchar field is a
string, the return type must be specified as a stream. */
$stream = sqlsrv_get_field( $stmt, 1, 
                            SQLSRV_PHPTYPE_STREAM( SQLSRV_ENC_CHAR));
while( !feof( $stream))
{ 
    $str = fread( $stream, 10000);
    echo $str;
}

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

Vea también

Conceptos

Comparar las funciones de recuperación de datos
Acerca de ejemplos de código en la documentación

Otros recursos

Referencia de la API (Controlador SQL Server para PHP)
Recuperar datos