View Review Details
| Book: | Build Your Own Database Driven Website Using PHP and MySQL | |
| Subject: | Little depth, but a good introduction | |
| Date: | 2005-06-27 09:26:29 | |
| From: | Kerry DeMatteis | |
|
Rating:
Author Kevin Yank states up front that this book is intended for intermediate- to advanced-level Web designers. I think this is an appropriate designation, as a beginner would quickly become overwhelmed at the rate with which Yank introduces such heady topics as Relational Database Design (Chapter 5) and Regular Expressions (Chapter 7). It's important to note that this book is an introduction to server-side technologies, not web site design; therefore, I recommend that the reader have experience with creating web sites and with client-side coding (HTML, JavaScript). Consider the pace: Chapters 1-3 of the book cover installation, your first MySQL database, and your first PHP page. Then by Chapter 6, the reader is coding a (admittedly rudimentary) content-management system!
Is this book for you? Consider that for the price, you get a basic introduction to a broad number of topics: 1) PHP installation, 2) MySQL installation, 3) relational database design, 4) using server-side programming to reduce client-side coding, 5) database administration, 6) writing effective SQL queries, 7) structured programming techniques, such as using includes, and 8) implementing cookies and sessions. If you are already comfortable with at least half of the topics in this list, then you are probably ready to graduate to a more in-depth book than this one. If much of this sounds new to you, then you will find Yank's book an excellent introduction. Yank writes as if he was a friendly tour guide, at each step of the way walking you through what he has done and why he chose to do it that way. Because the style is so conversational, it's easy to go back and re-read a chapter, which many readers might find themselves doing.
While the cover of the 3rd Edition (February 2005 update) goes at length to point out that the book covers PHP5, there is negligible content that goes beyond PHP4.x. None of the coding, and none of the author's discussions on effective programming techniques, addresses OO programming at all, let alone how it's implemented in PHP5. This is not necessarily a negative aspect of the book since, again, it's essentially an introduction. Just don't let the packaging fool you into thinking you're getting more than you actually are.
For me, the primary value of a book like this is in the initial chapter, where it provides all of the necessary steps for installing PHP and MySQL in one place. While the online documentation for both technologies is excellent, I have found that it can be confusing to switch back and forth between the two sites to get your own set-up installed and configured. If you're like me and must add Apache installation to the process, it only compounds the problem. Yank provides clear instructions for Windows and Linux users, with a nod to Mac X users, on installation and post-installation tasks.
Mainly for this information, this book is an excellent way to get started with server-side technology, but it is not at all suitable for production purposes. As with any server or server-side technology, security is a major and much-debated topic of concern with PHP and MySQL. Yank does address some of the basic methods of protecting a MySQL server from attacks, including how to password-protect the root user account and how to grant only necessary access to new users. I'm sure many PHP programmers will argue with Yank's recommendation that PHPs "Magic Quotes" feature be left On, since turning it Off "exposes you to hackers attempting SQL injection attacks on your Website if you are not very careful to write scripts that protect themselves from such malicious behavior" (p. 24). Mind you, he is simply quoting the recommendation at php.net, since the On setting is recommended for beginners, but it points out why this book is not suitable for production-ready applications. Yank does provide abundant footnotes for the reader to find more detailed information, including the online documentation at www.php.net and www.mysql.com.
Yank very often invites the reader to consult the forums at Sitepoint.com for further information and advice. Do not construe this as a mere marketing ploy. The SitePoint forums are indeed an excellent resource, with an active and often well-experienced audience.
All of the code listed in the book is available as a download from sitepoint.com. Simply provide your e-mail address, then you will be prompted with a question that you can answer only if you have the book in front of you.
Errata for the 3rd Edition can be found at: http://www.sitepoint.com/books/phpmysql1/errata.php |
||





