Compartir a través de


Cómo recuperar un campo único

El Controlador de SQL Server para PHP proporciona la función sqlsrv_get_field para recuperar un campo único o una fila del conjunto de resultados. En el ejemplo de este tema se muestra cómo recuperar una fila de datos en un campo a la vez.

Nota

La función sqlsrv_get_field se debería usar al especificar el tipo de datos de PHP de los datos devueltos o al recuperar los datos de una secuencia. Para obtener más información, vea Comparar las funciones de recuperación de datos.

Ejemplo

En el siguiente ejemplo se procesa una iteración en cada una de las filas de un conjunto de resultados mediante la función sqlsrv_fetch y, a continuación, se procesa una iteración en cada campo de una fila mediante la función sqlsrv_get_field.

En el ejemplo se recupera información del producto de la tabla Purchasing.PurchaseOrderDetail de la base de datos AdventureWorks de los productos que tienen una fecha especificada y menos existencias que el valor especificado (StockQty).

En el ejemplo se supone que la base de datos AdventureWorks está instalada en el servidor. Cuando se ejecuta el ejemplo desde la línea de comandos, todos los resultados se escriben en la consola.

<?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 = "SELECT ProductID,
                UnitPrice,
                StockedQty 
         FROM Purchasing.PurchaseOrderDetail
         WHERE StockedQty < 3 
         AND DueDate='2002-01-29'";

/* Execute the query. */
$stmt = sqlsrv_query( $conn, $tsql);
if ( $stmt )
{
     echo "Statement executed.\n";
} 
else 
{
     echo "Error in statement execution.\n";
     die( print_r( sqlsrv_errors(), true));
}

/* Iterate through the result set, printing a row of data upon each
iteration. Note that fields must be accessed in ordinal order. */
while( sqlsrv_fetch( $stmt))
{
     echo "ProdID: ".sqlsrv_get_field($stmt, 0)."\n";
     echo "UnitPrice: ".sqlsrv_get_field($stmt, 1)."\n";
     echo "StockedQty: ".sqlsrv_get_field($stmt, 2)."\n";
     echo "-----------------\n";
}

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

Vea también

Tareas

Cómo recuperar datos como una matriz
Cómo recuperar datos como un objeto

Conceptos

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

Otros recursos

Recuperar datos