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