The PHP language and the MySQL database form one of the most popular combinations for creating dynamic Web sites. This popularity comes from their simplicity, which makes them attractive for people who do not have a computing background. This book is written very much with the nonprogrammer in mind. It is devoted to explaining the various aspects of creating dynamic Web sites using PHP as a programming language and MySQL for database management.
The book is divided into 15 chapters that chronologically cover PHP and MySQL features. Each chapter starts with a list of main chapter topics and closes with a short paragraph about what’s next. The chapters are well ordered, covering simple concepts of the language, technical basics (installation), basics of syntax, and more complex constructs. Before first using MySQL, the reader finds installation advice followed by MySQL basics. The reader is not overloaded with lots of details that are unnecessary at the beginning. The author does a fine job of engaging readers in a topic that often makes for tedious reading. The author explains everything in straightforward language, and points to possible problems and offers advice on how to solve them. There are many real examples ready for use on the book’s Web site.
Best practices, such as user input validation or relational database normalization, are intelligently embedded into the text; however, having some information on more advanced resources would have been useful.
The advantages of the PHP language are also its limitations, in particular its suitability only for small or medium-size applications. As the book is solely devoted to PHP, readers without knowledge of alternative solutions will stay with this narrow view of Web applications development, though this is a problem of most books on one language or technology.
Even though the book presents excellent insight into PHP solutions, it in some sense oversimplifies the complex problem of Web-based applications development. The author encourages everybody to program and make Web pages dynamic. This is fine, but I would expect more attention on the limitations of PHP. Readers would also benefit from some explanation of object-oriented programming, which is stressed in PHP5.
I have read several books for beginners in programming and this is an excellent one. I recommend it to readers interested in creating dynamic Web sites using PHP or those having problems doing so. The reader will find here answers and practical solutions for most current problems—escape sequences in strings, magic quotes, and SQL injection attacks—that often trip up beginners. For more advanced users, most of the book will be too elementary.