I want a PHP based solution to backup database (only data and not code) of a remote server and download the file. I know that Shell based solutions are better for doing such
In my own experience, relying on PHP based backup solution is VERY bad idea. If you are dealing with large backups, PHP can easily fail (due to timeouts, memory consumption or something undefined).
We have been successfully using Bacula (http://www.bacula.org/en/) for years now on our un*x servers. Did our own backup scripts which do whatever we want to do. You need to have shell access to server off course.
If you need simple backup php based solution, you are best with writing your own. :)