mysql_query("BEGIN");//Start a transaction
mysql_query("SET AUTOCOMMIT=0"); //Set the transaction not to commit automatically
$insert="INSERT INTO userinfo VALUES ('aa12','aa ','1','aaa')";
mysql_query($insert);
mysql_query("COMMIT");//Non-autocommit mode, COMMIT must be executed manually to make the operation effective
//mysql_query ("SET AUTOCOMMIT=0");
$insert="INSERT INTO userinfo VALUES ('aa20','aa','1','aaa')";
$insert="INSERT INTO userinfo VALUES ('aa8','aa','1')";
//mysql_query("COMMIT");
if(mysql_num_rows==0)
mysql_query("ROLLBACK");//not In autocommit mode, execute ROLLBACK to invalidate transaction operations
else echo "ok";
//mysql_query("CLOSE");
mysql_query("SET AUTOCOMMIT=1");//Restore autocommit mode
$insert="INSERT INTO userinfo VALUES ('aa15','aa','1','aaa')";
mysql_query($insert);//There is no need to manually execute COMMIT to make the transaction operation effective
After BEGIN is executed, its effect is the same as set autocommit=0, and it is invalid when set autocommit=0 or 1 is set later. Therefore, to make the operation clear, BEGIN is generally not used.