Book Review: PHP and MySQL Web Development
Volume Number: 19 (2003)
Issue Number: 10
Column Tag: Programming
Book Review: PHP and MySQL Web Development
by Ron Davis
It used to be you were an HTML "programmer" if you understood what <B> was. I've never really thought there was any such thing as a HTML "programmer." HTML is a mark-up language. It's data, not instructions. I'm not going to get into my personal feelings on scripting verses programming, but I've done a bit of one and a lot of the latter. The day came when my personal website needed to be able to generate content on the fly and I went looking for a language to make it do so.
At first what I wanted was C/C++ but that really isn't what you want to do web work in. Remember you are mostly manipulating text, which C/C++ isn't really all that good at. Also you are generally working with a machine you can't compile on. You can upload files though, and those files can be executed, so you need a scripting language.
Perl is the language everyone associates with UNIX, but after attempting to remove my cerebellum through my eye sockets during early Perl sessions I went looking for another language to write in. That's when I found PHP. Here was a C like scripting language made to generate web pages - one that integrated with databases, for even more interesting possibilities.
There are a lot of good online tutorials on the web for PHP. It is a very popular language. This is partially because it is free and partially because it doesn't induce suicidal tendencies when you try to code in it.
While there is no real link between PHP and MySQL they always seem to go together. This is mainly because they are both free and offered as part of Linux, the dominant platform for web hosting companies. So everyone with a web site gets PHP and MySQL for free.
When it comes time to get serious about learning to use these two technologies, you should pick up the book PHP and MySQL Web Development by Luke Welling and Laura Thomson. It is both a great introduction and reference for PHP.
Personally I like books that teach you by doing. I want examples that will provide real world use. Even when a book does an example a chapter, I will often change the example to something I need as I read. PHP and MySQL Web Development does this well. After the required introductory chapter, each chapter introduces a new concept with a relevant example. In the end you have a complete web site with lots of different functionality.
To use the book you are going to have install PHP and MySQL. If you are using a non-server version of MacOS X you will have to install MySQL. There is downloadable package to do this with instructions at Marc Liyanage's site:
http://www.entropy.ch/software/macosx/mysql/
If you want to run PHP code on your local machine using the built in Apache server, you will need to do some configuration. Apple provides some instructions on how to do this.
http://developer.apple.com/internet/macosx/php.html
Once this is done you should have no trouble doing any of the examples in the book. I found no platform-specific problems while using the book.
The first part of the book teaches you the basics of PHP, including how you put PHP code inside your HTML file. It goes on to discuss the various features of the language includeing manipulating strings with regular expressions, reading and writing files, and arrays. After you get a basic understanding of PHP, it switches to talking about MySQL.
This first section on MySQL deals only with designing and creating databases. You work on the command line with MySQL.
After you have learned to use MySQL, you'll learn how to talk to MySQL with PHP. There are two chapters in the MySQL section showing basic and advanced interaction. In reality talking to other databases is accomplished almost exactly the same way. I had a site I built on my local machine using MySQL and then moved to a server and used it with MSSQL by changing the prefix on the calling routines.
Part three of the book is the meat of learning to use these technologies. The authors step you through a complete e-comerce system built with PHP and MySQL. By the time you get to this point in the book you understand the language and MySQL enough you can just start pulling the sections of this program you need out and use them. If you skip around you will occasionally have to go back to a previous chapter to figure out how the database is set up or what some variables mean. But if you need a user system, refer to chapter 24 "Building User Authorization and Personalization." Shopping cart? Chapter 25. Content management system? Chapter 27.
Appendix A on installing PHP and MySQL is largely useless to the Mac user. The index is good, letting you use the book as a general PHP/SQL reference. When you want more depth you can check out the PHP manual online at:
http://www.php.net/docs.php
Appendix B also gives an extensive list of web resources.
This book sits on my bookshelf with little post it notes sticking out at relevant pages. The only real complaint I have about the book is its size with over 800 pages. But it does cover a lot of stuff. Also since it is example based, it is somewhat hard to find a specific PHP function. I have little bookmarks for the date command and the SQL Alter table command.
If you are looking for a good book to cover all of the things about PHP and MySQL you need to do most common web tasks, this book is it.
Ron Davis is a long time Macintosh Software Engineer, having worked for companies like Apple and Metrowerks on a variety of products from development tools to anti-virus software. His day job is working for Alsoft, and his evening job is R.A.D. Productions, makers of Suck It Down and FinderEye.