First and foremost, since this is my first book review posted in The Zone, let me say that there are very few books I just don’t like. I can find something good in just about every book. So if you are looking for a scathing review exposing every flaw of the book, look elsewhere. Ok, all disclaimers aside, lets dive in.

Learning PHP & MySQL by Michele E. Davis and Jon A. Phillips is targeting graphic designers, Flash developers and others who build web sites but want to know more about the programming side of things. It assumes a basic knowledge of HTML and the web in general. There’s really nothing in this book that anyone with an interest in programming and access to a computer couldn’t use to expand their skills a bit.

The book starts, as all good technical books do, with a brief history of the world. At least the world from a programmer’s standpoint. The authors touch on the history behind the technologies that are used in the book. Nothing too drawn out but certainly nothing you couldn’t skip over in your rush to get to the good stuff. (And there is good stuff)

Ok, I promised no more disclaimers but I think it only fair to preface the rest of this by saying, I am not the target audience for this book. So if I frown on a $30 tome on knowledge telling me things like how to install Apache in 8 glorious graphics, take it with a grain of salt. Someone who does not understand the concept of “Keep clicking “Next” until it becomes Finished” isn’t going to understand the intricacies of Third Normal Form databases. There’s really no need to show us a graphic of the Apache EULA screen. Just tell us to “Install Apache by following the on-screen instructions.” As I said, I am not the target audience of this book. In querying a member of the target audience for this book, (my wife v1.22, the lovely and talented Kathy, a graphic artist) I was instructed that yes, the screen shots do make a difference and help to explain exactly what needs to be done. She does, however, agree that the screenshot of the EULA might be just padding.

To save space here, re-read the last paragraph and replace Apache with MySQL. There, I’ve just shown you a programming concept, “The Loop”.

Vince Lombardi Once you have everything installed the authors take you through the basics of PHP; seriously, the basics. Vince Lombardi used to start the first day of training camp each year with “Gentlemen, this is a football.” Michele and Jon start off that simple. Walking through variables, scoping, math functions, decisions and a host of other necessary concepts. Four chapters later, you should have a good grasp of the basics. If not, this book is really not for you, put it down and pick up one that comes with crayons.

Chapters 7-9 cover database basics, using MySQL, and getting PHP & MySQL to work together. All important concepts in our quest to Learn PHP & MySQL. Just to show that no matter how long you’ve been doing this, you can still learn something, Chapter 7 includes a great section on exactly what First, Second and Third normal form are. Reviewing it reminded me that I usually work in Second+ and not true Third Normal Form. The authors do a great job of explaining these sometimes difficult to understand concepts. They did such a great job explaing First through Third, I really wish they had gone on to do forth and fifth.

Chapters 10-15 cover increasingly more difficult topics. From form handling to security, PEAR to regular expressions each chapter builds on the last in a good, non-technical, language that most anyone can understand. Scattered throughout these chapters are snippets of example code showing the concept that is currently being discussed. The samples are clear by themselves and for a reference book, this would be good as you don’t have to have read the entire book just to understand the snippet you are reading. However (and here comes my major criticism of the book) this isn’t a reference book. This is a bound tutorial. As such it should start with a sample application and each concept discussed should be framed in the context of that sample. There is a lose thread of a sample running through the book but the end result is not a sample application. If you are picking this book up and have no experience in programming, you don’t get the sense of accomplishment that you would if you had been able to build an entire application as you read it.

Finally in Chapter 16 we get to “Sample Applications”. The sample they give is building a blog in PHP and MySQL. They cover a lot of the topics in the sample that were discussed earlier in the book. It’s a pretty decent sample application and a lot more interesting than the “Authors and Books” that the rest of the book’s samples revolve around. Why they didn’t build the entire book around this example is beyond me.

The book closes as it opens, predictably. The authors give you advice on formatting, comments, and other trivia. They then finish with a list of web sites and resources that they think you may find useful. I’d like to thank them for the paragraphs they included on Zend and (being the president of a Users Group) for the section encouraging readers to seek out and join a local users group.

All in all, the book is worth the $30 to someone starting out. I would give a more detailed conclusion but it seems my copy has been appropriated by the family graphic artist and I’m not allowed to have it back till she’s done. Obviously the book strikes a chord with the target audience. That’s really all that matters.

=C=