web 2.0

How to use PHP & MySQL and Transaction (Begin,Commit,RollBack)

How to use PHP & MySQL and Transaction (Begin,Commit,RollBack) Learn PHP how to using PHP and MySQL on Transaction mode (Begin,Commit,RollBack)

ShotDev Focus:
- PHP & MySQL Transaction mode (Begin,Commit,RollBack)

Table Type : InnoDB

InnoDB Syntax :


CREATE TABLE `customer` (
.
.
.
.
) ENGINE=InnoDB;

#1289 - The ‘InnoDB’ feature is disabled; you need MySQL built with ‘InnoDB’ to have it working

Solution

my.ini (C:\AppServ\MySQL\my.ini)

skip-innodb

Change To

#skip-innodb

### Restart MySQL Service ###
.
.

Example

php_mysql_transaction1.php


<html>
<head>
<title>ShotDev.Com Tutorial</title>
</head>
<body>
<form action="php_mysql_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_mysql_transaction2.php


<html>
<head>
<title>ShotDev.Com Tutorial</title>
</head>
<body>
<?
$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
$objDB = mysql_select_db("mydatabase");

//*** Start Transaction ***//
mysql_query("BEGIN");

//***  Query 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 = mysql_query($strSQL);

$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 = mysql_query($strSQL);

if(($objQuery1) and ($objQuery2))
{
//*** Commit Transaction ***//
mysql_query("COMMIT");
echo "Save Done.";
}
else
{
//*** RollBack Transaction ***//
mysql_query("ROLLBACK");
echo "Error Save [".$strSQL."]";
}
mysql_close($objConnect);
?>
</body>
</html>

Create a php file and save to path root-path/myphp/

Run
http://localhost/myphp/php_mysql_transaction1.php

Screenshot

PHP MySQL and Transaction (Begin,Commit,RollBack)
.
.
.

Download this script.
Download

1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (6 votes, average: 6.83 out of 10)
Loading ... Loading ...

Leave a Reply

You must be logged in to post a comment.