suppose I have this code
$transactionfailed = false;
$mysqliconn->query("begin;");
//query 1
$result=$mysqliconn->query("insert into table(col1,col2) values('$val1','val2')");
if(!$result){$transactionfailed=true;}
//query 2
$result=$mysqliconn->query("insert into table2(col1,col2) values('$val1','val2')");
if(!$result){$transactionfailed=true;}
if($transactionfailed){$mysqliconn->query("rollback;");}
else{$mysqliconn->query("commit;");}
die();
I want to replace it with this one
$mysqliconn->query("begin;");
//query 1
$result=$mysqliconn->query("insert into table(col1,col2) values('$val1','val2')");
if(!$result){die("error");}
//query 2
$result=$mysqliconn->query("insert into table2(col1,col2) values('$val1','val2')");
if(!$result){die("error");}
$mysqliconn->query("commit;");
die();
I want to end the script if something wrong happened without rolling back or committing, depending on mysql database to roll back the transaction if I didn't commit it.
I tried it many times, and yes it do rollback the transaction if I exit without commit. but is this always SAFE ?. or there is something I miss. because I don't want that query2 is failed and query1 is committed one day later.