Mastering phpMyAdmin

By Deane Barker on June 3, 2004

phpMyAdmin is usually installed quickly, out of acute necessity. You need to do something with your database, and you can’t do it via telnet or SSH or anything else, so you download the latest version, FTP it up, and away you go. More often than not, the install is forgotten about as soon as your need is over.

The downside of this is that you’re not getting nearly the value you should out of a phpMyAdmin install. Most people work with phpMyAdmin superficially and in very narrow usage corridors — like kids walking barefoot on a painted line through a very large parking lot. There’s so much about the app that you don’t know.

Enter this book: “Mastering phpMyAdmin for Effective MySQL Management.” This is the first book I know of solely on phpMyAdmin (though a lot of MySQL books cover it briefly in an appendix or something). It was released by Packt Publishing a few weeks ago.

It’s a departure from a lot of tech books in that (1) it’s short and sweet (just under 200 pages — not nearly the 600-page monolith some of these things become), and (2) it seems more…conversational. Concepts are explained in plain English. I normally hate that cliche, but it fits here. I got a sense of simply having a casual conversation with a fellow geek.

I read it over the course of a week, putting in a chapter or two each night. I learned something new in every chapter, and I’d implement them in my phpMyAdmin install right after reading the chapter. By the end of the book, I’m left with a superb phpMyAdmin install that does a thousand times more than I’ve ever accomplished with the app before.

There’s a lot of phpMyAdmin functionality under the hood that you’ve likely never seen. For instance, you can set it up to enforce relational integrity in your database. This is just good database design, but it also enriches the interface considerably. Foreign key fields now become drop-down lists to the foreign table with a selection of entries. You can print a PDF summary document with descriptions of all tables and columns and an entity relationship diagram showing field relationships. Bet you haven’t seen that trick before.

I suddenly have a sense of liberation with phpMyAdmin. We all hate writing admin interfaces, especially for one-off apps we do in a hurry. Thankfully, phpMyAdmin can support an enormous amount of administration chores in an interface not nearly as utilitarian as the default one you get on install. It won’t work for administering the data of every app you write, but I bet it will handle a lot of them.

I can now see writing apps and doing things that I stayed away from before just because I didn’t want to write all the data entry and database admin scripts that easily dominate the work required to put these things together. Instead, I can concentrate on the fun of the front-end pages, while phpMyAdmin sucks up all the back-end work.

The book also includes some good information about PHP and MySQL in general. On page 86, in the chapter on importing data, there’s a solid little discussion about PHP file upload and execution limits that trumps anything I’ve read before. I’m a better developer for having read these four paragraphs about the “upload_max_filesize,” “memory_limit,” and “post_max_size” parameters.

As for MySQL, did you know about InnoDB tables? This is a table format that builds referential integrity into MySQL — something the database has been missing for so long. I’ll admit to being utterly ignorant about this feature until this point.

There’s a chapter at the end of the book about MIME-based transformations that summarizes the general level of apathy about this app. I can’t believe I haven’t run across a discussion about this feature before —

You may have known on the periphery that you could store files directly into a MySQL database using a BLOB column. But did you know that phpMyAdmin will support this with a file upload field in the interface, so your users can upload files directly? Or that you can sent a MIME Transformation on that field to display a thumbnailed view of stored images in the row when browsing the database? And that you can link that thumbnail to the full-size version or the image, pulled directly from the field? I’ll bet the percentage of phpMyAdmin users who know that trick is in the single digits.

So, good book. If you find yourself writing a lot of throwaway admin interfaces and hating every minute of it, the $30 cover price for this text is probably looking mighty attractive right now.

Next Steps —
What Links Here


Comments are closed. If you have something you really want to say, tweet @gadgetopia.