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)

Retrieving Result Set Metadata


As we have seen in the previous section, the PDOStatement class allows us to retrieve some information about the data contained in the result set. This information is called metadata, and you probably have already used some of it one way or another.

The most important metadata about a result set is, of course, the number of rows it contains. We can use the row count to enhance user experience by, for example, paginating long result sets. Our example library application is still quite small, with only three books so far, but as our database grows, we surely will need some tools to get the total row count for every table displayed and paginate it for easy browsing.

Traditionally, you would use the mysql_num_rows(), sqlite_num_rows() function or the pg_num_rows() function (depending on your database) to get the total number of rows returned by the query. In PDO, the method responsible for retrieving the number of rows is called PDOStatement::rowCount(). However...