I think the right books are incredibly important. O'Reilly's SQL in a nutshell is SUPER helpful when you're starting out in SQL because it helps you remember your syntax and it gives you ideas to experiment with by explaining things succinctly. I think books that try to teach you something are boring. Books that try to tell you something are way more valuable.
There is no book like this for PHP because PHP's website does this. If you decide to learn PHP, use their website religiously. Read the documentation starting the beginning, not just the functions you're using. You will learn a lot about how the language works.
Realize that the tools we use in programming (languages, conditionals, loops, etc) are "opaque" tools. A hammer, a saw, a drill, screwdriver nails, screws. These are "transparent" tools. We can see how transparent tools work by using them. We cannot see how opaque tools work by using them. That's why copying code and pasting it to get something working isn't the same as hitting a nail with a hammer. You don't learn something by copying and pasting, but you get clues. This is why a reference like PHP.Net or SQL in a Nutshell (or K&R for C) is vital to your self-teaching. You get a hint, you read about it and learn how it works, then you run a few tests (experiments really) to test your knew knowledge. Now you've learned a new tool. Hammers are much easier.
I will disagree with Bazz. If you've never programmed before, ignore the database. You've got a long way to go just getting started, and you don't need to be learning database stuff while you're trying to understand basic programming. If you manage to get WAMP installed on Windows (or if you're already using Linux, you rock at being 14), then you can start creating PHP pages to just do basic things like say "hello", create an array and loop over it to echo what's in the array, etc.
Experiment with the language of your choice.
Check out this site:
http://sixrevisions.com/resources/10...amming-skills/
Understanding how to program in a language like PHP or Python is good because you can start with imperative programming and move on to object-oriented programming, which are the two most widespread programming paradigms out there.
Once you get that, then you can move to SQL and learn a whole new thing while you're at it. And it'll be much easier, because ultimately, all you're getting out of the database is arrays of data, and if you're already familiar with arrays in your language, BAM! easy fosheezy.
Good luck, welcome to CF, and keep experimenting!