Book Image

Learning PHP Data Objects

By : Dennis Popel
Book Image

Learning PHP Data Objects

By: Dennis Popel

Overview of this book

PDO is lighter, faster, and more powerful than existing PHP data abstraction interfaces. PDO is a common interface to different databases that must be used with a database-specific PDO driver to access a particular database server: the PDO extension does not provide a database abstraction by itself; it doesn't rewrite SQL, emulate missing database features, or perform any database functions using by itself. It performs the same role as other classic database abstraction layers such as ODBC and JDBC: it's a query abstraction layer that abstracts the mechanism for accessing a database and manipulating the returned records; each database driver that implements the PDO interface can also expose database-specific features as regular extension functions. ¬ PDO ships with PHP 5.1, and is available as an extension for PHP 5.0; it requires the new object-oriented features of PHP 5, and cannot run with earlier versions of PHP.This book will teach you how to use the PDO, including its advanced features. Readers need to be aware of the basics of data abstraction and should be familiar with PHP.
Table of Contents (13 chapters)

Creating the Edit Book Page

As we have discussed earlier, we want to extend our application so that we can add and edit books and authors. Also, our system should be able to protect us from entering the same book twice—by enforcing the unique index on the ISBN column in the books table.

Before we proceed with the code, we will create the index. Fire up your command line client and enter the following command (which is the same for MySQL and SQLite):

CREATE UNIQUE INDEX idx_isbn ON books(isbn);

We will also make our edit book page serve two purposes at once—adding a new book and editing an existing one. The script will distinguish which action to take by the presence of the book ID, either in an URL or in a hidden form field. We will link to this new page from within books.php, so that we will be able to edit every book just by clicking on a link on the books listing page.

This page is more complicated than those described in the previous chapter, so I will provide you with the code first and...