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)

PDO Statements and Result Sets


Our examples made use of two of the main classes in PHP Data Objects: the PDO class, which is used to create a connection and issue queries, and the PDOStatement class, which we use to loop through the result set. We will look at the first of these classes in later chapters. Here, we will examine the PDOStatement class to see what other ways of traversing the result set that it has to offer.

As we already know, instances of the PDOStatement class are returned from the call to PDO::query() method. The main purpose of this class is to provide an interface to the result set. In fact, we have already used its most important method to iterate over the result set. We only looked at one fetch style (or mode of the returned row), but PDO offers several styles. This class can also provide additional information about a result set, such as the number of rows and columns, and fetch the whole result set into a two-dimensional array.

Let's begin by looking at some different...