Hi,
you could try to execute mysqldump (system command) with php (e.g. with the system() function and then download the generated file with your ftp client.
Since mysqldump outputs to the shell per default you need to redirect the output, e.g.
mysqldump -umyuser -hdbhost -Ddatabase --all -pmypassword > targetfile.sql
If you use the php function passthru without redirecting the output of mysqldump to a file the output would be sent to the browser. In this case that wouldn't be very useful because that would transfer about 40 MB to your browser.
Please note that the above stuff only works with mysql. Another solution would be to backup each table separately with php.