I use two salts to hash a password:
sha1(SALT . SALT2 . $password);
the second salt is unique for every user and stored in a database.
Why is it not secure?
I think you have to assume worst case: if they have access to your database, they have access to your web root. It might not be the case, but you should assume that.
Because it's stored in a database. If an attacker has access to the database with the hashed passwords she will likely have access to the database with the salt too.
You need to assume that the attacker will have access to anything on the server. So first thing is clearly no plain text passwords but hash only. Second thing is make as hard as possible for the attacker to decode the hash. One salt helps preventing use of rainbow tables but more salt is useless since the attacker has them. So you are left with choosing a hard algorithm to crack and currently the best one is bcrypt which is already implemented in most programming language for you.
I use two salts to hash a password: sha1(SALT . SALT2 . $password); the second salt is unique for every user and stored in a database. Why is it not secure?