
I wish you a warm welcome to this book! The goal of this first chapter is to:
- Know the position of this software product in the web spectrum
- Be aware of all its features
- Become proficient at installing and configuring it
This section describes the place of phpMyAdmin in the context of PHP/MySQL web applications.
The Web has evolved! In the last few years the Web has changed dramatically. In its infancy, the Web was a medium used mainly to convey static information ("Look, my home-page is on the Web!"). Now, large parts of the Web carry information that is dynamically generated by application programs on which enterprises, and even individuals, rely for their intranets and public websites.
Because of the clear benefits of databases—better accessibility and structuring of information—web applications are mostly database driven. While the frontend is usually a well-known (and quickly deployed) web browser, there is a database system at the backend. Application programs provide the interface between the browser and the database.
Those who are not operating a database-driven website are not using the medium to its fullest capability. Also, they could be lagging behind competitors who have made the switch. So, it is not a question of whether we should implement a database-driven site, but rather about when and how to implement it.
Why web applications? Because they improve the user experience and involve users in the process by opening up possibilities such as:
- Gathering feedback about the site
- Letting users communicate with us and with each other through forums
- Ordering goods from our e-commerce site
- Enabling easily-editable web-based information (content management)
- Designing and maintaining databases from the Web
Nowadays, WWW might stand for World Wide Wave—a big wave that profoundly modifies the way developers think about user interface, data presentation, and most of all, the way data reaches users and comes back to the data center.
When we look at the web applications platforms currently offered by host providers, we will see that most prevalent is the PHP/MySQL combination.
Well-supported by their respective homesites—http://www.php.net and http://www.mysql.com—this duo has enabled developers to build a lot of ready-made open source web applications and, most importantly, enabled in-house developers to quickly put solid web solutions in place.
MySQL, which is mostly compliant with the SQL:2003 standard, is a database system well known for its speed, robustness, and a small connection overhead. This is important in a web context where pages must be served as quickly as possible.
PHP, usually installed as a module on the web server, is a popular scripting language in which applications are written to communicate with MySQL (or other database systems) on the backend and browsers on the frontend. Ironically, the acronym's significance has evolved along with the evolution of the Web, from Personal HomePage to Professional HomePage to its current recursive definition: PHP: Hypertext Processor. An explanation of the successive name changes can be seen in PHP's source code at http://svn.php.net/viewvc/archived/php3/trunk/CHANGES?r1=5246&r2=5459. Available on millions of web domains, PHP drives its own wave of quickly-developing applications.
phpMyAdmin (see the official home page at http://www.phpmyadmin.net) is a web application written in PHP; it contains (like most web applications) XHTML, CSS, and JavaScript client code. This application provides a complete web interface for administering MySQL databases, and is widely recognized as the leading application in this field. Being open source since its birth, it has enjoyed support from numerous developers and translators worldwide (being translated into 58 languages at the time of writing this book). The project is currently hosted at Sourceforge.net and developed using their facilities by the phpMyAdmin team.
Host providers everywhere are showing their trust in phpMyAdmin by installing it on their servers. The popular cPanel (a website control application) interfaces with phpMyAdmin. In addition, we can install our own copy of phpMyAdmin inside our webspace, as long as our provider respects the minimum requirements (see the System requirements section later in this chapter).
The goal of phpMyAdmin is to offer the complete web-based management of MySQL servers and data, and to keep up with the evolution of MySQL and web standards. While the product is always evolving, it supports all standard operations, along with extra features.
The development team constantly fine-tunes the product based on the reported bugs and requested features, releasing new versions regularly.
phpMyAdmin offers features that cover basic MySQL database and table operations. It also has an internal relational system that maintains metadata to support advanced features. Finally, system administrators can manage users and privileges from phpMyAdmin. It is important to note that phpMyAdmin's choice of available operations depends on the rights the user has on a specific MySQL server.
Further information about phpMyAdmin is available on the homesite's documentation page, located at http://www.phpmyadmin.net/home_page/docs.php. Moreover, the development team, helped by the community, maintains a wiki at http://wiki.phpmyadmin.net.