Skip to main content

Book review: Mastering phpMyAdmin 3.1

A couple of weeks ago I received a book from PACKT Publishing titled "Mastering phpMyAdmin 3.1 for Effective MySQL Management" written by Marc Delisle, with the request if I could read it and write a review about it. Why not ? I haven't used phpMyAdmin in whole my career so I might as well read about the tool everyone around me is using. And since phpMyAdmin is also bundled with Zend Server, it can only benefit my day-to-day job.

On the front cover it states "Increase your MySQL productivity and control by discovering the real power of phpMyAdmin 3.1", so the book challenged me from the start. I have been using the MySQL command-line tool since forever so I was really curious about how this book could convince me to use phpMyAdmin from now on.

The first two chapters of this book are explaining what phpMyAdmin is all about and how you should install it, along with a very detailed security configuration part. A remarkable feature is that you can install it for multi-user hosting purposes, giving each user it's own MySQL toolset using just one installation.

Chapter 3 covers a very detailed explanation of each panel you see in the phpMyAdmin interface. Not only a mere statement that explains what each panel is used for, but also how you can modify this panel's behavior by modifying the configuration settings.

A hands-on example is covered in chapters 4, 5 and 6, where Marc takes you on a journey through all the steps of creating, inserting, browsing, modifying and removing tables and data. Although I was already familiar with MySQL's capabilities, I have to admit that by using a tool like phpMyAdmin your whole data management becomes more visible and gives you a certain amount of joy browsing through your data.

With MySQL on command line I could import/export my data and table structures in native SQL and XML, but with phpMyAdmin you can choose between 14 different export types. Although I believe that SQL will remain the main type used by many, it's good to know you have a tool available that can export data anyway you want.

Another cool feature I discovered by reading this book is that phpMyAdmin offers you the ability to manage relations between tables easily using the interface, but you can also create graphical relation diagrams that you can export into PDF.

With it's MySQL 5.0 and MySQL 5.1 support you also have the ability to manage the advanced MySQL toolset like triggers, stored procedures, functions and views. Having the ability to use these advanced MySQL capabilities in a graphical interface can only benefit it's usage amongst many developers.

But the best feature of phpMyAdmin is that you could have in-table MIME-type based transformations. So if you work often with BLOB data, you can now have it appear right in your interface as a download link or as a clickable thumbnail.

If you're new to phpMyAdmin or you just start using MySQL databases, this book gives you step-by-step instructions on how to use the interface to manage your data. But I think this book has even more value to the professional where this book is the perfect reference guide for all those advanced MySQL capabilities. I will certainly use phpMyAdmin more, having this book besides me to guide me the way.


  1. Thanks Michelangelo for the excellent review!

    - the author


Post a Comment

Popular posts from this blog

PHP 7 and Apache on macOS Sierra

I posted several talks about compiling PHP from source, but everyone was trying to convince me that a package manager like Homebrew was a more convenient way to install. The purpose of Homebrew is simple: a package manager for macOS that will allow you to set up and install common packages easily and allows you to update frequently using simple commands. I used a clean installation of macOS Sierra to ensure all steps could be recorded and tested. In most cases you already have done work on your Mac, so chances are you can skip a few steps in this tutorial. APACHE AND PHP WITH HOMEBREW I’ve made this according to the installation instructions given on GetGrav. The installation procedures These installation procedures will set up your macOS Sierra with PHP 7.1 and Apache 2.4. Install Xcode command line tools (if not done yet)xcode-select --install Install Homebrew/usr/bin/ruby -e "$(curl -fsSL" Set up for in…

Sessions in PHP 7.1 and Redis

In case you have missed it, PHP 7.1.0 has been released recently. Now you can’t wait to upgrade your servers to the latest and greatest PHP version ever. But hold that thought a second… With PHP 7 lots of things have changed underneath the hood. But these changed features can also put unexpected challenges on your path. Our challenge One of these challenges that we faced was getting PHP 7.1 to play nice storing sessions in our Redis storage. In order to store sessions in Redis, we needed to install the Redis PHP extension that not only provides PHP functions for Redis, but also installs the PHP session handler for Redis. Because we upgraded our servers to PHP 7.1, we were looking to use the latest provided version for this Redis extension: redis-3.1.0. Once installed, we bumped against a nasty problem. Warning: session_start(): Failed to read session data: redis (path: tcp:// Searching the internet for this error, we didn’t got many hits that could point us into a dire…

Speeding up database calls with PDO and iterators

When you review lots of code, you often wonder why things were written the way they were. Especially when making expensive calls to a database, I still see things that could and should be improved.
No framework development When working with a framework, mostly these database calls are optimized for the developer and abstract the complex logic to improve and optimize the retrieval and usage of data. But then developers need to build something without a framework and end up using the basics of PHP in a sub-optimal way.

$pdo = new \PDO( $config['db']['dsn'], $config['db']['username'], $config['db']['password'] ); $sql = 'SELECT * FROM `gen_contact` ORDER BY `contact_modified` DESC'; $stmt = $pdo->prepare($sql); $stmt->execute(); $data = $stmt->fetchAll(\PDO::FETCH_OBJ); echo 'Getting the contacts that changed the last 3 months' . PHP_EOL; foreach ($data as $row) { $dt = new \DateTime('2015-04-…