Tienes dos opciones o montar un procedimiento almacenado en mysql y manejar desde la base de datos las transacciones o llamar desde php a las funciones de transaccion de mysql. En este caso te pongo la solución llamado desde php.
Código PHP:
$sql = "SET AUTOCOMMIT=0;";
$resultado = mysql_query($sql, $dbh);
$sql = "BEGIN;";
$resultado = mysql_query($sql, $dbh);
$sql = "SELECT * FROM primera; ";
$resultado = mysql_query($sql, $dbh);
$sql = "INSERT INTO `segunda` (`id`, `descripcion`) VALUES ('', 'Otro
valor');";
$resultado = mysql_query($sql, $dbh);
$sql = "INSERT INTO `primera` (`id`, `ripcion`) VALUES (´´, ´Otro valor´);";
$resultado = mysql_query($sql, $dbh);
//echo mysql_num_rows($resultado);
if ($resultado) {
echo 'OK';
echo '<br>';
$sql = "COMMIT";
$resultado = mysql_query($sql, $dbh);
}
else
{
echo 'MAL';
echo '<br>';
echo 'SE EJECUTA EL ROOLBACK';
echo '<br>';
$sql = "ROLLBACK;";
$resultado = mysql_query($sql, $dbh);
}
Espero que te sirva. Un saludo