Compartir a través de


Cómo ejecutar una consulta única

Cuando se usa el Controlador de SQL Server para PHP para ejecutar una consulta única, se debe utilizar la función sqlsrv_query. La función sqlsrv_query proporciona un método eficaz para ejecutar una consulta con una cantidad mínima de código. Esta función realiza tanto la preparación como la ejecución de la instrucción y se puede usar para ejecutar consultas con parámetros. En este tema se describe cómo usar la función sqlsrv_query para ejecutar una consulta única.

Para obtener información acerca de cómo ejecutar una instrucción preparada varias veces, vea Cómo ejecutar una consulta varias veces.

Ejemplo

En el siguiente ejemplo, se inserta una única fila en la tabla Sales.SalesOrderDetail de la base de datos AdventureWorks. 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.

Nota

Aunque el ejemplo siguiente utiliza una instrucción INSERT para mostrar el uso de sqlsrv_query en la ejecución de una instrucción única, el concepto se aplica a cualquier instrucción de Transact-SQL.

<?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 the parameterized query. */
$tsql = "INSERT INTO Sales.SalesOrderDetail 
        (SalesOrderID, 
         OrderQty, 
         ProductID, 
         SpecialOfferID, 
         UnitPrice, 
         UnitPriceDiscount)
        VALUES 
        (?, ?, ?, ?, ?, ?)";

/* Set parameter values. */
$params = array(75123, 5, 741, 1, 818.70, 0.00);

/* Prepare and execute the query. */
$stmt = sqlsrv_query( $conn, $tsql, $params);
if( $stmt )
{
     echo "Row successfully inserted.\n";
}
else
{
     echo "Row insertion failed.\n";
     die( print_r( sqlsrv_errors(), true));
}

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

Vea también

Otros recursos

Consideraciones de diseño
Referencia de la API (Controlador SQL Server para PHP)