Hi
I am building a transactional sistem with mysql/innodb tables i would like to
make sure my steps are rigth, i am using php on the webserver to manipulate
these mysql tables.
-------------------------------------------------------------------------------
Also i try to use select ... read commited to get the accurate data but it do
not work this syntax is rigth: SELECT Field FROM TABLE READ COMMITED
-------------------------------------------------------------------------------
basically i am doing:
<?
/*******************************************
START TRANSACTION
*/
$conn->execute("SET AUTOCOMMIT=0");
$conn->begin();
/*******************************************
COMITT TRANSACTION
*/
if($conn->error()){
$conn->rollback();
} else {
$conn->commit();
}
-------------------------------------------------------------------------------
The entire code:
<?
/*******************************************
COME�A TRANSA��O
*/
$conn->execute("SET AUTOCOMMIT=0");
$conn->begin();
$conn->execute("DELETE FROM Table_1 WHERE Field_1=".$Field_1_final." AND
Field_2='".getParam("f_Field_2")."'");
$conn->execute($sqlChain->getSQL());
$sqlNormal->setAction("UPDATE");
$conn->execute($sqlNormal->getSQL());
if( $id_security-_atual && ( !getParam("f_security") ) ) {
$sqlDelSecurity->setAction("INSERT");
$conn->execute($sqlDelSecurity->getSQL());
}
} else { // inclus�o
/*******************************************
START TRANSACTION
*/
$conn->begin();
$sql->setAction("INSERT");
$conn->execute($sqlNormal->getSQL());
$conn->execute($sqlChain->getSQL());
}
if(!$id_current_security) {
if( getParam("f_security") ) {
$sqlSecurity->setAction("INSERT");
$conn->execute($sqlSecurity->getSQL());
}
}
/*******************************************
COMITT TRANSACTION
*/
if($conn->error()){
$conn->rollback();
} else {
$conn->commit();
}
?>
i would like to know if anything is wrong is this the way a transaction must be
handled ....
Thank�s in advance
__________________________________________________
Converse com seus amigos em tempo real com o Yahoo! Messenger
http://br.download.yahoo.com/messenger/