How to use PHP & SQL Server (mssql) and Transaction (BEGIN TRAN,COMMIT,ROLLBACK) Learn / tutorial php programming how to using PHP and SQL Server on Transaction mode (BEGIN TRAN,COMMIT,ROLLBACK)
ShotDev Focus:
- PHP & SQL Server and Transaction (BEGIN TRAN,COMMIT,ROLLBACK).
Example
php_sqlserver_transaction1.php
<html> <head> <title>ShotDev.Com Tutorial</title> </head> <body> <form action="php_sqlserver_transaction2.php" name="frmAdd" method="post"> <table width="600" border="1"> <tr> <th width="91"> <div align="center">CustomerID </div></th> <th width="160"> <div align="center">Name </div></th> <th width="198"> <div align="center">Email </div></th> <th width="97"> <div align="center">CountryCode </div></th> <th width="70"> <div align="center">Budget </div></th> <th width="70"> <div align="center">Used </div></th> </tr> <tr> <td><div align="center"><input type="text" name="txtCustomerID" size="5"></div></td> <td><input type="text" name="txtName" size="20"></td> <td><input type="text" name="txtEmail" size="20"></td> <td><div align="center"><input type="text" name="txtCountryCode" size="2"></div></td> <td align="right"><input type="text" name="txtBudget" size="5"></td> <td align="right"><input type="text" name="txtUsed" size="5"></td> </tr> </table> <input type="submit" name="submit" value="submit"> </form> </body> </html>
php_sqlserver_transaction2.php
<html> <head> <title>ShotDev.Com Tutorial</title> </head> <body> <? $objConnect = mssql_connect("localhost","sa",""); $objDB = mssql_select_db("mydatabase"); mssql_query("BEGIN TRAN"); //**** Process 1 ****// $strSQL = "INSERT INTO customer "; $strSQL .="(CustomerID,Name,Email,CountryCode,Budget,Used) "; $strSQL .="VALUES "; $strSQL .="('".$_POST["txtCustomerID"]."','".$_POST["txtName"]."','".$_POST["txtEmail"]."' "; $strSQL .=",'".$_POST["txtCountryCode"]."','".$_POST["txtBudget"]."','".$_POST["txtUsed"]."') "; $objQuery1 = mssql_query($strSQL); if(!$objQuery1) { mssql_query("ROLLBACK"); echo "Error Save [".$strSQL."]"; exit(); } //**** Process 2 ****// $strSQL = "INSERT INTO customer "; $strSQL .="(CustomerID,Name,Email,CountryCode,Budget,Used) "; $strSQL .="VALUES "; $strSQL .="('".$_POST["txtCustomerID"]."','".$_POST["txtName"]."','".$_POST["txtEmail"]."' "; $strSQL .=",'".$_POST["txtCountryCode"]."','".$_POST["txtBudget"]."','".$_POST["txtUsed"]."') "; $objQuery2 = mssql_query($strSQL); if(!$objQuery2) { mssql_query("ROLLBACK"); echo "Error Save [".$strSQL."]"; exit(); } //**** Process 3 ****// $strSQL = "INSERT INTO customer "; $strSQL .="(CustomerID,Name,Email,CountryCode,Budget,Used) "; $strSQL .="VALUES "; $strSQL .="('".$_POST["txtCustomerID"]."','".$_POST["txtName"]."','".$_POST["txtEmail"]."' "; $strSQL .=",'".$_POST["txtCountryCode"]."','".$_POST["txtBudget"]."','".$_POST["txtUsed"]."') "; $objQuery3 = mssql_query($strSQL); if(!$objQuery3) { mssql_query("ROLLBACK"); echo "Error Save [".$strSQL."]"; exit(); } //**** Commit Transaction ****// if(($objQuery1) and ($objQuery2) and ($objQuery3)) { mssql_query("COMMIT"); } mssql_close($objConnect); ?> </body> </html>
Create a php file and save to path root-path/myphp/
Run
http://localhost/myphp/php_sqlserver_transaction1.php
Screenshot
1nuclear…
…