Procédure : exécuter une requête unique

Lorsque vous utilisez le Pilote SQL Server pour PHP afin d'exécuter une requête unique, la fonction sqlsrv_query doit être utilisée. La fonction sqlsrv_query fournit une méthode simplifiée pour exécuter une requête avec une quantité minimale de code. Cette fonction effectue à la fois la préparation et l'exécution des instructions ; par ailleurs, elle peut être utilisée pour exécuter des requêtes paramétrées. Cette rubrique explique comment utiliser la fonction sqlsrv_query pour exécuter une requête à usage unique.

Pour plus d'informations sur l'exécution à plusieurs reprises d'une instruction préparée, consultez Procédure : exécuter une requête à plusieurs reprises.

Exemple

Dans l'exemple suivant, une seule ligne est insérée dans la table Sales.SalesOrderDetail de la base de données AdventureWorks. L'exemple suppose que SQL Server et la base de données AdventureWorks sont installés sur l'ordinateur local. Toutes les données de sortie sont écrites dans la console lorsque l'exemple est exécuté à partir de la ligne de commande.

Cc296156.note(fr-fr,SQL.90).gifRemarque :
Bien que l'exemple suivant utilise une instruction INSERT pour illustrer l'emploi de sqlsrv_query lors de l'exécution d'une requête à usage unique, le concept s'applique à toutes les instructions 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);
?>

Voir aussi

Autres ressources

Considérations relatives à la conception
Référence de l'API (Pilote SQL Server pour PHP)