Ok, I've had this book for over a year now and I'm on my second read-through so it's time for a review. This book is the best book I've found for learning how to code real, useful applications that will please clients and make you money. I credit this book for lifting me up from beginner to intermediate PHP programmer. Highly recommended.
Having said that, I am in agreement with some of the other reviews in that the book suffers from some critical, tragic flaws that need to be taken into account so let's start with the cons:
CONS:
1) Many of the MySQL queries in the book & source code cause errors as written and everything comes to a crashing halt. MySQL errors are extremely cryptic and you will be pulling your hair out trying to figure out what to do with the authors' incorrect query syntax. It's very irritating, because obviously the code was not tested and they should know better. Luckily there is a forum where intrepid explorers have blazed the trail to success before you, but that leads to gripe #2.
2) The book has a support site but the authors are nowhere to be found. The only support you will find are scant users helping other users. Most of the issues with buggy code luckily have been answered by past users, but you have to dig for it. As of this writing, the search feature for the board does not work. You have to read through all the topics to find the one you need. FIX THE SEARCH WROX!
3) The book says "PHP 6" but all the MySQL queries are made with the original MySQL extension, not MySQLI or PDO. This is PHP 4 procedural code. You will not learn the intricacies of PHP OOP.
4) The authors are fond of using what they call "transaction" pages to process database interactions (updates, deletes, creating an account, etc.). This is an interesting approach. The authors show you how to check for errors and send the user back to the original page to display the errors, but they don't tell you how to preserve user input in form fields. Major fail.
5) Functions are introduced that are not explained at all. You have to look them up in the PHP manual.
Ok, now on to the positives:
PROS:
1) I own beginning PHP books by David Powers and Larry Ullman, and they are all good, but this book blows them away in terms of teaching you real-world techniques for creating dynamic, interactive web applications in a way that is fun and interesting without bogging you down in complicated minutia. From the very beginning you will be coding stuff that inspires your creativity. You will begin to think like a programmer. The authors have a light, humorous style of writing that made learning fun.
2) The book really showed me how to code sites that are personalized for registered users. It showed me how to effectively register those users, and track them through the applications, offering personalized data for each of them. What I really liked was how this book takes that approach from the very beginning, and never lets up. In my opinion this is a highly marketable skill set to have under your belt. Once you know the basic techniques for creating this type of application, the sky's the limit on what you can offer your clients. Thanks to this book, I have coded several user-community-oriented web applications for clients.
3) From very early in the book you will be using multiple tables within a database. Many beginning PHP books take a one-table approach most of the way through, then introduce multiple tables at the end. Not this book. You WILL become skilled at using multiple tables, joining the tables in intricate queries to compile custom data sets for your users. I found this very empowering. I now have a MUCH better sense of how to design my database tables and how to get the data I need.
4) The approach is "real world". In other words, there are lots of tricks and techniques in the book that enlightened me in a "Oh, so THAT'S how developers do it" kind of way. This is an extremely valuable asset. Most other books concentrate on syntax and methods but this book shows you "the way its really done". I'm sure there are other, perhaps better ways to get things done, but for a beginner, the methods these authors use was very eye opening and immediately helpful.
5) The book has a large appendix that includes a list of PHP functions. It's like having the PHP manual.
6) At the end of each chapter are optional exercises you can try. I didn't do all of them, but the ones I did really reinforced the learning process.
CONCLUSION:
If you have read other beginner PHP books but want to jack up your game with marketable skills, I strongly urge you to get this book! But be prepared - you will have to work through some frustrating errors in the code as well as a sad lack of support by the authors and publisher. It really is a shame - this book could be absolutely perfect if it's creators would just show some pride and fix the flaws.