Compartir a través de


sqlsrv_num_fields

Recupera el número de campos de un conjunto de resultados activo. Tenga en cuenta que se puede llamar a sqlsrv_num_fields en cualquier instrucción preparada, antes o después de la ejecución.

Sintaxis

sqlsrv_num_fields( resource $stmt)

Parámetros

$stmt: Instrucción en la que el conjunto de resultados de destino está activo.

Valor devuelto

Un valor entero que representa el número de campos en el conjunto de resultados activo. Si se produce un error, se devuelve el valor booleano false.

Ejemplo

En el ejemplo siguiente se ejecuta una consulta para recuperar todos los campos de las tres filas superiores de la tabla HumanResources.Department de la base de datos AdventureWorks. La función sqlsrv_num_fields determina el número de campos del conjunto de resultados. Esto permite que los datos se muestren recorriendo en iteración los campos de cada fila devuelta.

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));
}

/* Define and execute the query. */
$tsql = "SELECT TOP (3) * FROM HumanResources.Department";
$stmt = sqlsrv_query($conn, $tsql);
if( $stmt === false)
{
     echo "Error in executing query.\n";
     die( print_r( sqlsrv_errors(), true));
}

/* Retrieve the number of fields. */
$numFields = sqlsrv_num_fields( $stmt );

/* Iterate through each row of the result set. */
while( sqlsrv_fetch( $stmt ))
{
     /* Iterate through the fields of each row. */
     for($i = 0; $i < $numFields; $i++)
     {
          echo sqlsrv_get_field($stmt, $i, 
                   SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_CHAR))." ";
     }
     echo "\n";
}

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

Vea también

Referencia

sqlsrv_field_metadata

Conceptos

Acerca de ejemplos de código en la documentación

Otros recursos

Referencia de la API (Controlador SQL Server para PHP)