3D rotations are much more complicated than 2D rotations and take some time to learn. Here are some tips and pointers:
But If I want to rotate it in more than one dimension, my object is not rotating properly.
The rotations you using are called "Euler Angles". With Euler angles, order matters. 45°x, 45°y, 45°z does not yield the same results as 45°z, 45°y, 45°x.
For example after 90 degrees X rotation if I want to rotate in my object in Y axis it is rotating like in his Z axis.
What you are seeing is called "Gimbal Lock." When two axes overlap (ie, after a 90° rotation), you lose a degree of freedom and strange things happen.
It sounds like you are performing rotations in worldspace. As IYP noted, you should probably be performing most of your rotations in local space (I don't know what math library you're using, but it should have a local rotation function). Order still matters, so be consistent about that order and conscientious if you need to change the order. You might also find yourself needing to mix and match local and world rotations. Here's a (poor) example - imagine a car driving around a bend. You would make the car steer with a worldspace y-rotation, but you would simulate body roll with a localspace z-rotation.
My years as a tech artist have also taught me that you should attempt to isolate axial rotations. What I mean is, try to only perform rotations on a single axis at a time if possible. Think of a gun turret - the body of the turret only rotates left-and-right on the y-axis, while the gun barrel only rotates up-and-down on the x-axis.