I personally learnt by reading books and also reading tutorials etc on the internet.
Your best bet would be to go down to your local book shop and flick through some books. Make sure you read a few sections to see if the style they write in appeals to you and seems easy to follow then of course buy it. Once you have grasped the basics you can then go and use sites such as php.net and mysql.org (the official manuals) and learn by looking through them.
It may also help if you look on usenet news groups and coding forums not necessarily to post but to read the sort of problems others have and see what peoples responses are. Also look at posts where people want a critique on their coding it will give you an idea of what is ok and what is not.
Also when learning php try and make sure you learn how to configure php. If you can configure php you are more likely to know what each thing does.
My grandad taught me and got me into programming at the age of 8 the same year i had my first website up (a james bond one hosted by my isp) and i did all the research!!!
ack! I never bought anything to learn php... a waste of money if you ask me.
To be honest, I used resources like webmonkey and stuff to start me off. (www.webmonkey.com).
After that I just thought of stuff I wanted to do (eg: send emails in php) and searched for tutorials and stuff online. Go to google and search for "php XXX tutorial", you should find something.
Also, come and ask here. I used to do that a lot, lol. When I was getting more and more experience I used to ask about stuff here.