I'm currently working on a php project with 3 other people. I need a free software which can help me document the changes/revisions on the database and on the application that were developing.
As slhck suggests, I would use a revision control system to record changes, whenever you check in a change you have an opportunity to type in a message stating the reason for the change.
For database structure changes I use a revision control system to manage a set of SQL DDL commands "create table ...; create index ..." which I edit whenever I make a change (even if I normally do so by "alter table" etc). This then preserves a history of changes to the database structure. I use end-of-line comments in the DDL to record the purpose of the fields.
If this is insufficient for you, you might consider editing your question to clarify what you need.