OK... answering your second question first...
Lets review how the server has all your componets ::
EDIT:
The graph didn't show up all that well::
Webserver--PHP--MySQL
|---FTP
/EDIT:
As you can see the FTP cannot talk to MySQL (as far as I know) and mysql cannot talk to FTP and so on and so forth. You can however make a PHP file to open an FTP connection...then after it uploads the files it can take the path and send it to MySQL after its done getting the files. But a DIRECT connection to MySQL and FTP is not allowed.
Your other question however would be better served as having one table (that way you don't get confused 🙂 )
pictures :
pictures_id INT NOT NULL AUTO_INCREMENT
pictures_name TEXT
pictures_type TEXT
pictures_path TEXT
pictures_desc TEXT
You can always use PHP to do a whole span of drawing pictures out and having it be able to search. The idea of only having (example ( 5 ) on a page) different pages that is very easy to do in PHP . You will need to look on this site (yes it is here) about how to complete that sort of thing....it is doable though. Why would you have two tables to accomplish one thing? Even have it designated as 1 = Your pictures 2 = Your friends pictures 3=Your mothers pictures .... and put just the numbers in the pictures_type. That would make it easy to search such as
Select * from pictures where pictures_type='1' LIMIT 10;
That would give you all of your pictures and just give you the first 10 it came across.
Your doing well just keep learning and hopefully you learned something new today. I might not be right but if I was in yoru shoes this is how I would set up your database and complete your task at hand. If you take my advice that is great if not then I am not offended. There are HUNDREDS of different ways you can do this. This is just the first one that came to mind.
Take care and hope I helped!