Este ejemplo muestra cómo preparar una consulta con la función
sqlsrv_prepare() y su re-ejecución varias veces
(con diferentes valores de argumentos) utilizando la función
sqlsrv_execute().
<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "UPDATE Table_1
SET OrderQty = ?
WHERE SalesOrderID = ?";
// Inicializa los argumentos y prepara la consulta.
// Las variables $qty y $id están ligadas a la consulta $stmt.
$qty = 0; $id = 0;
$stmt = sqlsrv_prepare( $conn, $sql, array( &$qty, &$id));
if( !$stmt ) {
die( print_r( sqlsrv_errors(), true));
}
// Define la información SalesOrderDetailID y OrderQty.
// Este array liga el orden de los IDs con el orden de las cantidades con pares clave=>valor.
$orders = array( 1=>10, 2=>20, 3=>30);
// Ejecuta la consulta para cada orden.
foreach( $orders as $id => $qty) {
// Debido a que $id y $qty están ligados a $stmt1,
// sus valores actualizados se utilizan en cada ejecución
// de la consulta.
if( sqlsrv_execute( $stmt ) === false ) {
die( print_r( sqlsrv_errors(), true));
}
}
?>