文字
分享

sqlsrv_commit

(No version information available, might only be in Git)

sqlsrv_commitCommits a transaction that was begun with sqlsrv_begin_transaction()

说明

bool sqlsrv_commit ( resource $conn )

Commits a transaction that was begun with sqlsrv_begin_transaction() . The connection is returned to auto-commit mode after sqlsrv_commit() is called. The transaction that is committed includes all statements that were executed after the call to sqlsrv_begin_transaction() . Explicit transactions should be started and committed or rolled back using these functions instead of executing SQL statements that begin and committ/roll back transactions. For more information, see » SQLSRV Transactions.

参数

conn

The connection on which the transaction is to be committed.

返回值

成功时返回 TRUE , 或者在失败时返回 FALSE

范例

Example #1 sqlsrv_commit() example

The following example demonstrates how to use sqlsrv_commit() together with sqlsrv_begin_transaction() and sqlsrv_rollback() .

<?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  ));
}


if (  sqlsrv_begin_transaction $conn  ) ===  false  ) {
     die( 
print_r sqlsrv_errors (),  true  ));
}


$orderId  1 $qty  10 $productId  100 ;


$sql1  "INSERT INTO OrdersTable (ID, Quantity, ProductID)
         VALUES (?, ?, ?)"
;
$params1  = array(  $orderId $qty $productId  );
$stmt1  sqlsrv_query $conn $sql1 $params1  );


$sql2  "UPDATE InventoryTable 
         SET Quantity = (Quantity - ?) 
         WHERE ProductID = ?"
;
$params2  = array( $qty $productId );
$stmt2  sqlsrv_query $conn $sql2 $params2  );



if(  $stmt1  &&  $stmt2  ) {
     
sqlsrv_commit $conn  );
     echo 
"Transaction committed.<br />" ;
} else {
     
sqlsrv_rollback $conn  );
     echo 
"Transaction rolled back.<br />" ;
}
?>

参见

  • sqlsrv_begin_transaction() - Begins a database transaction
  • sqlsrv_rollback() - Rolls back a transaction that was begun with sqlsrv_begin_transaction
上一篇:sqlsrv_close下一篇:sqlsrv_configure