title: Rolling back MySQL queries
body: <p>If I have multiple queries on chain, on a structure based on IFs, like this:</p>
  
  <pre><code>$query1 = mysqli_query("query here");
  
  if(!query1){
      //display error
  } else {
      $query2 = mysqli_query("another query here");
      if(!query2){
          //display error
          //rollback the query1
      } else {
          query3 = mysqli_query("yet again another query");
          if(!query3) {
              //display error
              //rollback the query2
              //rollback the query1
          } else {
              query4 = mysqli_query("eh.. another one");
              if(!query4){
                  //display error
                  //rollback the query3
                  //rollback the query2
                  //rollback the query1
              } else {
                  return success;
              }
          }
      }
  }
  </code></pre>
  
  <p>Is there a best way to rollback the previous query, if the next one fails?
  Otherwise I'm gonna have the first 2 query successfull, which edited the database, but the 3° failed, so 3° and 4° didn't edit the dabatase, with the result of having it corrupted.</p>
  
  <p>I thought about something like:</p>
  
  <pre><code>    ...
      $query2 = mysqli_query("another query here");
      if(!query2){
          //display error
          $rollback = mysqli_query("query to rollback query1");
      } else {
          query3 = mysqli_query("yet again another query");
          if(!query3) {
              //display error
              $rollback = mysqli_query("query to rollback query2");
              $rollback = mysqli_query("query to rollback query1");
          } else {
          ...
  </code></pre>
  
  <p>But the above method grants even more chances to fail more queries.
  Is there any other more effective methods?</p>